Copia de datos de Google Ads con Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo, se explica cómo usar la actividad de copia en una canalización de Azure Data Factory o Synapse Analytics para copiar datos de Google Ads. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.

Importante

Actualice la versión del controlador de Google Ads antes del 18 de febrero de 2024. En caso de no hacerlo, la conexión comenzará a producir un error debido a la entrada en desuso del controlador heredado.

Funcionalidades admitidas

Este conector de Google Ads es compatible con las siguientes funcionalidades:

Funcionalidades admitidas IR
Actividad de copia (origen/-) ① ②
Actividad de búsqueda ① ②

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Para obtener una lista de los almacenes de datos que se admiten como orígenes y receptores, consulte la tabla de almacenes de datos admitidos.

El servicio proporciona un controlador integrado para habilitar la conectividad. Por lo tanto, no es necesario instalar manualmente ningún controlador mediante este conector.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado a Google Ads mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a Google Ads en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña "Administrar" de su área de trabajo de Azure Data Factory o Synapse y seleccione "Servicios vinculados"; a continuación, haga clic en "Nuevo":

  2. Busque Google Ads y seleccione el conector de Google Ads.

    Screenshot of the Google Ads connector.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Screenshot of linked service configuration for Google Ads.

Detalles de configuración del conector

En las secciones siguientes, se proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas para el conector Google Ads.

Propiedades del servicio vinculado

Las propiedades siguientes son compatibles con el servicio vinculado de Google Ads:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: GoogleAdWords
googleAdsApiVersion Versión de la API de Google Ads que usa al seleccionar la versión del controlador recomendada. Puede consultar este artículo para obtener información sobre la versión de la API.
clientCustomerID El identificador de cliente del cliente de la cuenta de Ads para la que quiere capturar datos de informes.
loginCustomerID Identificador de cliente de la cuenta de administrador de Google Ads mediante el cual desea capturar los datos del informe de un cliente específico. No
developerToken Token de desarrollador asociado a la cuenta de administrador que usó para conceder acceso a la API de Ads. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura o almacenar la contraseña en Azure Key Vault y permitir que la actividad de copia incorpore los cambios desde allí al realizar la copia de datos. Obtenga más información sobre el Almacenamiento de credenciales en Key Vault.
authenticationType Mecanismo de autenticación OAuth 2.0 que se usa para autenticar.
Los valores permitidos son: ServiceAuthentication y UserAuthentication.
ServiceAuthentication solo puede utilizarse en IR autohospedados.
Para UserAuthentication:
refreshToken Token de actualización obtenido de Google para autorizar el acceso a Ads para UserAuthentication. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura o almacenar la contraseña en Azure Key Vault y permitir que la actividad de copia incorpore los cambios desde allí al realizar la copia de datos. Obtenga más información sobre el Almacenamiento de credenciales en Key Vault. No
clientId El identificador de cliente de la aplicación de Google que se ha usado para adquirir el token de actualización. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura o almacenar la contraseña en Azure Key Vault y permitir que la actividad de copia incorpore los cambios desde allí al realizar la copia de datos. Obtenga más información sobre el Almacenamiento de credenciales en Key Vault. No
clientSecret El secreto de cliente de la aplicación de Google que se ha usado para adquirir el token de actualización. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura o almacenar la contraseña en Azure Key Vault y permitir que la actividad de copia incorpore los cambios desde allí al realizar la copia de datos. Obtenga más información sobre el Almacenamiento de credenciales en Key Vault. No
Para ServiceAuthentication:
Correo electrónico Id. de correo electrónico de la cuenta de servicio usado para ServiceAuthentication y que solo puede utilizarse en IR autohospedados. No
privateKey Clave privada del servicio que se usa para ServiceAuthentication para la versión recomendada del controlador y solo se puede usar en IR autohospedado. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura o almacenar la contraseña en Azure Key Vault y permitir que la actividad de copia incorpore los cambios desde allí al realizar la copia de datos. Obtenga más información sobre el Almacenamiento de credenciales en Key Vault. No
Para ServiceAuthentication con la versión del controlador heredada:
Correo electrónico Id. de correo electrónico de la cuenta de servicio usado para ServiceAuthentication y que solo puede utilizarse en IR autohospedados. No
keyFilePath Ruta de acceso completa al archivo de clave .p12 o .json que se usa para autenticar la dirección de correo electrónico de la cuenta de servicio y que solo puede utilizarse en IR autohospedados. No
trustedCertPath Ruta de acceso completa del archivo .pem que contiene certificados de CA de confianza para comprobar el servidor al conectarse a través de TLS. Esta propiedad solo puede establecerse al utilizar TLS en IR autohospedados. El valor predeterminado es el archivo cacerts.pem instalado con el IR. No
useSystemTrustStore Especifica si se utiliza un certificado de CA del almacén de confianza del sistema o de un archivo PEM especificado. El valor predeterminado es false. No

Ejemplo:

{
    "name": "GoogleAdsLinkedService",
    "properties": {
        "type": "GoogleAdWords",
        "typeProperties": {
            "clientCustomerID": "<clientCustomerID>",
            "loginCustomerID": "<loginCustomerID>",
            "developerToken": {
                "type": "SecureString",
                "value": "<developerToken>"
            },
            "authenticationType": "UserAuthentication",
            "refreshToken": {
                "type": "SecureString",
                "value": "<refreshToken>"
            },
            "clientId": {
                "type": "SecureString",
                "value": "<clientId>"
            },
            "clientSecret": {
                "type": "SecureString",
                "value": "<clientSecret>"
            },
            "googleAdsApiVersion": "v14"
        }
    }
}

Propiedades del conjunto de datos

Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección, se proporciona una lista de las propiedades compatibles con el conjunto de datos de Google Ads.

Para copiar datos de Google Ads, establezca la propiedad type del conjunto de datos en GoogleAdWordsObject. Se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
type La propiedad type del conjunto de datos debe establecerse en: GoogleAdWordsObject
tableName Nombre de la tabla. Especifique esta propiedad cuando use la versión del controlador heredada. No (si se especifica "query" en el origen de la actividad)

Ejemplo

{
    "name": "GoogleAdsDataset",
    "properties": {
        "type": "GoogleAdWordsObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleAds linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propiedades de la actividad de copia

Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección, se proporciona una lista de las propiedades compatibles con el origen de Google Ads.

Para copiar datos de Google Ads, establezca el tipo de origen de la actividad de copia en GoogleAdWordsSource. Se admiten las siguientes propiedades en la sección source de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del origen de la actividad de copia debe establecerse en: GoogleAdWordsObject
consulta Utilice la consulta GAQL para leer los datos. Por ejemplo: SELECT campaign.id FROM campaign. No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

"activities":[
    {
        "name": "CopyFromGoogleAds",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<GoogleAds input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleAdWordsSource",
                "query": "SELECT campaign.id FROM campaign"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Actualización de la versión del controlador de Google Ads

Para actualizar la versión del controlador de Google Ads, debe actualizar el servicio vinculado y aprender a migrar de SQL al lenguaje de consulta de Google Ads (GAQL).

Actualización de la configuración del servicio vinculado

En la página Editar servicio vinculado, seleccione Recomendado en Versión del controlador y configure el servicio vinculado haciendo referencia a las propiedades del servicio vinculado.

Migración de SQL a GAQL

Convierta las instrucciones de consulta y los nombres de campo al migrar de SQL a GAQL.

Instrucciones de consulta

Si usa una consulta SQL en el origen de la actividad de copia o en la actividad de búsqueda que hace referencia al servicio vinculado heredado de Google Ads, debe convertirla a una consulta GAQL.

A diferencia de SQL, la consulta en GAQL se compone de seis tipos de cláusulas:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

Vaya a Gramática del lenguaje de consulta de Google Ads para obtener una introducción a GAQL.

Tome la siguiente instrucción SQL como ejemplo:

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

Puede seguir las instrucciones que aparecen a continuación para convertir la instrucción SQL en la instrucción GAQL correspondiente:

  1. Si se usa * (asterisco) después de la cláusula SELECT, debe especificar todos los campos necesarios en lugar del asterisco, ya que GAQL no admite SELECT *. Vaya a este artículo para ver todos los campos seleccionables del recurso específico.
  2. Si se usa el nombre del campo después de la cláusula SELECT, debe convertir el nombre en el nombre de campo correspondiente en GAQL, ya que tienen convenciones de nomenclatura diferentes. Por ejemplo, el nombre de campo campaign_id en la instrucción de consulta SQL se debe convertir en campaign.id en GAQL. Consulte Nombre de campo para obtener más información sobre la conversión de nombres de campo.
  3. El nombre del recurso se puede dejar tal cual, a menos que el uso de mayúsculas y minúsculas sea incoherente con lo que se especifica aquí.
  4. La cláusula WHERE se debe actualizar según la gramática de GAQL, ya que los operadores admitidos por GAQL no son coherentes con SQL y el nombre de campo también se debe convertir como se describe en el segundo punto.

Estas son dos herramientas muy útiles que ofrece Google y son muy recomendables al crear las instrucciones de consulta GAQL correspondientes:

Nombre del campo

El nombre de campo usado en SQL no está alineado con GAQL. También debe aprender las reglas de conversión de nombres de campo en SQL a nombres de campo en GAQL. La regla de conversión se puede resumir de la siguiente manera:

  • Si el nombre del campo pertenece a un recurso, el carácter de subrayado (_) en SQL se cambiará a un punto (.) en GAQL. Y para las palabras que hay entre el punto, la instrucción de tipo camelCase empleada en SQL se cambiará a palabras independientes con caracteres de subrayado agregados. La primera cadena de tipo PascalCase en SQL se cambiará al nombre de recurso correspondiente en GAQL.

  • Si el nombre del campo pertenece a segmentos o métricas, se debe agregar el prefijo segments. o metrics. en GAQL y, a continuación, seguir la misma regla que se describe en el primer punto para convertir el nombre.

Estos son ejemplos específicos de la conversión del nombre de campo:

Category Nombres de campo en SQL Nombres de campo en GAQL
Campos de recursos Campaign_startDate campaign.start_date
Campos de recursos Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
Segmentos DayOfWeek segments.day_of_week
Métricas VideoViews metrics.video_views

Actualización del conector de Google AdWords al conector de Google Ads

Actualice el servicio vinculado de Google AdWords al servicio vinculado de Google Ads más reciente siguiendo estos pasos:

  1. Seleccione Recomendado como versión del controlador para crear un nuevo servicio vinculado de Google Ads y configúrelo haciendo referencia a las propiedades del servicio vinculado.

  2. Actualice las canalizaciones que hacen referencia al servicio vinculado heredado de Google AdWords. Tenga en cuenta que el servicio vinculado de Google Ads solo admite el uso de consultas para copiar datos, por lo que:

    1. Si la canalización recupera directamente datos del informe de Google AdWords, busque el nombre de recurso correspondiente de Google Ads en la tabla siguiente y use esta herramienta para crear la consulta.

      Informe de Google AdWords Recurso de Google Ads
      ACCOUNT_PERFORMANCE_REPORT cliente
      AD_PERFORMANCE_REPORT ad_group_ad
      ADGROUP_PERFORMANCE_REPORT ad_group
      AGE_RANGE_PERFORMANCE_REPORT age_range_view
      AUDIENCE_PERFORMANCE_REPORT campaign_audience_view,ad_group_audience_view
      AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view
      BID_GOAL_PERFORMANCE_REPORT bidding_strategy
      BUDGET_PERFORMANCE_REPORT campaign_budget
      CALL_METRICS_CALL_DETAILS_REPORT call_view
      CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view
      CAMPAIGN_CRITERIA_REPORT campaign_criterion
      CAMPAIGN_PERFORMANCE_REPORT campaña
      CAMPAIGN_SHARED_SET_REPORT campaign_shared_set
      CAMPAIGN_LOCATION_TARGET_REPORT location_view
      CLICK_PERFORMANCE_REPORT click_view
      DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view
      DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view
      GENDER_PERFORMANCE_REPORT gender_view
      GEO_PERFORMANCE_REPORT geographic_view, user_location_view
      KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view
      KEYWORDS_PERFORMANCE_REPORT keyword_view
      LABEL_REPORT label
      LANDING_PAGE_REPORT landing_page_view,expanded_landing_page_view
      PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view
      PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view
      PLACEHOLDER_FEED_ITEM_REPORT feed_item, feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      PLACEMENT_PERFORMANCE_REPORT managed_placement_view
      PRODUCT_PARTITION_REPORT product_group_view
      SEARCH_QUERY_PERFORMANCE_REPORT search_term_view
      SHARED_SET_CRITERIA_REPORT shared_criterion
      SHARED_SET_REPORT shared_set
      SHOPPING_PERFORMANCE_REPORT shopping_performance_view
      TOP_CONTENT_PERFORMANCE_REPORT Ya no está disponible en la API de Google Ads.
      URL_PERFORMANCE_REPORT detail_placement_view
      USER_AD_DISTANCE_REPORT distance_view
      VIDEO_PERFORMANCE_REPORT video
    2. Si la canalización usa una consulta para recuperar datos de Google AdWords, use la herramienta de migración de consultas para traducir de AWQL (lenguaje de consulta de AdWords) a GAQL (lenguaje de consulta de Google Ads).

  3. Tenga en cuenta que hay ciertas limitaciones con esta actualización:

    1. No todos los tipos de informe de AWQL se admiten en GAQL.
    2. No todas las consultas AWQL se traducen de forma limpia a consultas GAQL.

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.