Usuario-agente de la app
Como parte de nuestros esfuerzos más amplios para combatir el spam, desarrollamos una especificación estandarizada para el encabezado User-Agent que envía un producto de análisis o de anuncios en nombre de un usuario de la app. El User-Agent de la app se puede derivar del código nativo para cumplir con la siguiente especificación:
name version (os_and_version; locale; device; build; Proxy)
La definición de estos campos es la siguiente:
Componentes de User-Agent | |
---|---|
name | Es el nombre del producto de análisis o de anuncios. ( Ten en cuenta que, si el usuario-agente se construye en el cliente, Android// Specified by API consumer. iOS// Specified by API consumer. |
version | Es la versión del producto de análisis o de anuncios.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
os_and_version | El sistema operativo y la versión del sistema operativo en los que se ejecuta la app. ( AndroidString osAndVersion = "Android " + Build.VERSION.RELEASE; iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
locale | Es una etiqueta de configuración regional de IETF para el dispositivo, que usa un código de idioma y país de dos letras separados por un guion bajo.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | Es el nombre del dispositivo físico que ejecuta el producto de estadísticas o anuncios.
( AndroidString device = Build.MODEL; iOS@import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("hw.machine", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
build | "Build/" seguido del número de compilación del sistema operativo
( AndroidString build = "Build/" + Build.ID; iOS@import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("kern.osversion", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
Solo incluye ; Proxy
al final del User-Agent de la app cuando compiles el User-Agent de la app en el servidor. Si el usuario-agente de la app se construye por completo en el cliente, excluye ; Proxy
. Por lo tanto, el usuario-agente de una app podría ser el siguiente:
- Android:
AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy)
- iOS:
AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
Guía de solicitudes de seguimiento de conversiones
El propósito de las solicitudes de seguimiento de conversiones es notificar a Google Ads sobre un evento de aplicación que se debe hacer un seguimiento como conversión o que se debe usar para completar una lista de remarketing, y recuperar metadatos que describan cualquier clic que precedió al evento.
Todas las llamadas a la API se realizan al dominio www.googleadservices.com
. Las solicitudes de conversión son solicitudes POST
a través de HTTPS en la siguiente ruta:
/pagead/conversion/app/version
Una solicitud de conversión de aplicación estándar contendrá los siguientes parámetros para la versión 1.1 de la API de App Conversion.
Solicitud de seguimiento de conversiones | |
---|---|
dev_token |
Obligatorio Ubicación: Consulta Es el token de desarrollador único y estático que se emite para el consumidor de la API. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
Obligatorio Ubicación: Consulta Es el identificador de vínculo que une el token de desarrollador del consumidor de la API a una app específica. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
Obligatorio Ubicación: Consulta Es el nombre del evento de la app que ocurrió. Este campo es una enumeración y solo aceptará los siguientes valores: • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom El evento |
app_event_name |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el nombre de cualquier evento de aplicación personalizado que no se acepta en el campo level_achieved Level Achieved Este campo no debe contener ninguno de los valores reservados para |
app_event_data |
Opcional Ubicación: Cuerpo Reenvía cualquier dato adicional del evento enriquecido como un objeto JSON simple que asigne claves de cadena a valores. Los valores aceptables son las cadenas y los arrays de cadenas. {"level": 5, "attempts": 20} |
odm_info |
Obligatorio cuando se utiliza la medición de conversiones integrada en iOS Ubicación: Consulta Es el valor del parámetro de consulta XYZr_AB8C-_zGtKjUhqtzPLeQ8lbJB5dADVR0tpZ9f-28sN5qN9GTZ_FztjL0OL FzgxUJDhZr8w6lwGxAwPcxSwR5orjWepZiVP7sRRoCiaHerR-1TP17eJKtazgeSg _CVEs13LllDTfrhVM8uWISqlg8dXobsLzmj8C7WrOlktHA5P_E23 |
id_type |
Obligatorio Es el tipo de identificador que se pasa en el campo Androidadvertisingid appsetid iOSidfa idfv |
rdid |
Obligatorio Ubicación: Consulta Es una cadena de UUID válida que representa el ID del dispositivo sin procesar. f10e1de2-e237-4f50-b6aa-843c45cc63d6 En caso de que falte el ID del dispositivo, como el ID de un dispositivo de un usuario que no dio su consentimiento para el ATT, configúralo como todo ceros. 00000000-0000-0000-0000-000000000000 |
ctry_c |
Obligatorio Ubicación: Consulta Es el código de país ISO de dos letras que indica el país desde el que se originó la conversión. Este campo es obligatorio para habilitar la medición de conversiones de aplicaciones a nivel del usuario en iOS y Android. US, IN |
eea |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el alcance del EEE.
|
ad_personalization |
Obligatorio en determinadas condiciones Ubicación: Consulta Marcas para los anuncios personalizados
|
ad_user_data |
Obligatorio en determinadas condiciones Ubicación: Consulta Es la marca de consentimiento para el uso de datos del usuario con fines publicitarios.
|
lat |
Obligatorio Ubicación: Consulta Es el estado de limitar el seguimiento de anuncios para el dispositivo.
|
app_version |
Obligatorio Ubicación: Consulta Es la versión actual de la app, que debe estandarizarse de la siguiente manera. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
Obligatorio Ubicación: Consulta Es la versión actual del SO host de la app. Esto se debe estandarizar de la siguiente manera. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
Obligatorio Ubicación: Consulta Es la versión del SDK que midió el evento. Dado que se usa principalmente para la depuración, debe reflejar la versión de lanzamiento exactamente como se publica con los lanzamientos del SDK. Si la app no usa un SDK, pasa el mismo valor que 1.9.5r6 |
timestamp |
Obligatorio Ubicación: Consulta Es la marca de tiempo de UNIX en la que se produjo el evento de conversión, en segundos con precisión de microsegundos. 1432681913.123456 |
fot |
Obligatorio Ubicación: Consulta Es la marca de tiempo de UNIX del 1432681913.123456 |
value |
Opcional Ubicación: Consulta Es el valor monetario del evento, si corresponde. Siempre debe tener el formato de un valor de punto flotante legible por máquina con un punto decimal para separar la parte entera y la parte fraccionaria del valor. 1.99 |
currency_code |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el código de moneda ISO 4217 para el parámetro USD |
gclid |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el valor del parámetro de búsqueda Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el valor del parámetro de búsqueda BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el identificador para la atribución basada en 1 |
gbraid |
Obligatorio en determinadas condiciones Ubicación: Consulta Valor de ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
Obligatorio en determinadas condiciones Ubicación: Consulta Es el valor para identificar el vínculo directo del clic en el anuncio o las sesiones orgánicas de la aplicación. ad_click or organic |
User-Agent |
Obligatorio Ubicación: Encabezado Es el usuario-agente de la app, como se definió en la sección anterior. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For |
Obligatorio Ubicación: Encabezado Es la dirección IPv4 o IPv6 pública del dispositivo en el que se midió el evento. 216.58.194.174 |
Todas las solicitudes deben enviarse a través de HTTPS. Se rechazarán los pings recibidos a través de HTTP.
Ten en cuenta que, si el cuerpo de la solicitud está vacío (en los casos en que no se pasan datos de eventos enriquecidos en la carga útil de app_event_data
), nuestro servidor requiere que establezcas de forma explícita el encabezado Content-Length: 0
en tu solicitud.
Codificación de datos de eventos
Para el parámetro del cuerpo app_event_data
, usa las siguientes convenciones para los tipos de datos primitivos:
Float
- Usa el carácter de punto como separador decimal, independientemente de la localización de la app
- Usa una precisión decimal de dos dígitos para representar valores monetarios, p. ej., 2. 99.
- No uses notación exponencial, p. ej., 2E+9.
- No uses el carácter de coma para separar grupos de dígitos, p. ej., 1,000,000.
- Ejemplos válidos:
-0.5
2.99
1000000.123
Número entero
- Solo envía valores enteros sin dígitos decimales.
- No uses el carácter de coma para separar grupos de dígitos, p. ej., 1,000,000.
- Ejemplos válidos:
1000
-11
0
Fecha
- Formato de fecha: aaaa-mm-dd
yyyy
= año de cuatro dígitos, p.ej., 2016mm
= mes de dos dígitos, p.ej., 09 para septiembredd
= día de dos dígitos, p.ej., 23 para el 23ᵉʳ día del mes
- Siempre envía la cantidad de dígitos especificada anteriormente. Por ejemplo, si envías el valor de dd para el 5º día del mes, envía
05
. - Ejemplos válidos:
"2016-09-23"
"1990-12-31"
- Formato de fecha: aaaa-mm-dd
Marca de tiempo
- Formato de hora: Marca de tiempo de Unix/época en segundos definida en la zona horaria UTC con precisión de microsegundos
- Ejemplos válidos:
1478713087
para Wed, 09 Nov 2016 17:38:07 GMT1073513982.123000
para el mié., 07 de enero de 2004, 22:19:42.123 GMT
Arrays
- Solo envía arrays de valores primitivos (cadenas, números y booleanos).
- Ejemplos válidos:
[123, 456, 789]
["abc"]
Solicitudes de muestra
A continuación, se muestra un ejemplo de una solicitud de primer acceso con el SDK de On Device Measurement: Event Data para la medición de conversiones integrada:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=first_open &odm_info=abcdEfadGdaf &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfv &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de primer acceso sin el SDK de On Device Measurement: Event Data para la medición de conversiones integrada:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=first_open &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfv &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud posterior a la instalación con el SDK de datos de eventos de la medición en el dispositivo para la medición de conversiones integrada:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=first_open &odm_info=abcdEfadGdaf &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfv &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &&fot=1432681913.123456 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de primer acceso sin el SDK de On Device Measurement: Event Data:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=first_open &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfv &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de primer acceso para una conversión no determinística de Android para la versión 1.1 de la ACAPI:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=first_open &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=appsetid &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &ctry_c=IN Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (android 11; en-GB; RMX2040; Build/_; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de seguimiento de conversiones válida con un tipo de evento no personalizado y datos de ingresos:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gclid_only_request=0 &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
A continuación, se muestra un ejemplo de una solicitud de seguimiento de conversiones válida con un tipo de evento no personalizado y información de ingresos con el rdid (advertisingid) no disponible:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=00000000-0000-0000-0000-000000000000 &id_type=advertisingid &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=1 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gclid_only_request=1 &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; Android,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
Un ejemplo de una solicitud de inicio de sesión válida es el siguiente:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de inicio de sesión reatribución válida para una sesión que comenzó desde el vínculo directo example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
A continuación, se muestra un ejemplo de una solicitud de seguimiento de conversiones válida para un usuario del EEE que otorgó el consentimiento para usar sus datos y rechazó la personalización de anuncios:
POST /pagead/conversion/app/1.1 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=1 &ad_personalization=0 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
Guía de respuesta del seguimiento de conversiones
La respuesta del seguimiento de conversiones tiene el siguiente formato:
{ "ad_events": [<ad event objects>], "errors": [<error strings>], "attributed": true|false }
Los arrays ad_events y errors pueden estar vacíos.
Esperamos que los errores sean códigos de error legibles por máquina, p.ej., invalid_timestamp
.
Códigos de error
invalid_timestamp: La solicitud no tenía una marca de tiempo válida.
eea_missing_or_invalid: La solicitud no tenía establecido el campo "eea" o no era válida.
ad_user_data_missing: No se configuró el campo de solicitud "ad_user_data". El campo "ad_user_data" es obligatorio para todas las solicitudes de DMA dentro del alcance.
ad_user_data_invalid: El valor de la solicitud "ad_user_data" no era válido. El campo "ad_user_data" es obligatorio para todas las solicitudes de DMA dentro del alcance.
ad_personalization_missing_or_invalid: La solicitud no tenía establecido el campo "ad_personalization" o no era válido. El campo "ad_personalization" es obligatorio para todas las solicitudes de DMA dentro del alcance.
Los eventos de anuncios son los objetos principales de la atribución de aplicaciones y contendrán las siguientes propiedades.
Notas importantes sobre el comportamiento de la respuesta según el consentimiento del usuario:
Si la conversión tiene el consentimiento de datos del usuario de anuncios y el usuario tiene el consentimiento de uso cruzado en su configuración de usuario de Google, Google Ads responderá con un solo último clic en todos sus CPS. Si el usuario no dio su consentimiento para el uso cruzado en la configuración de usuario de Google, Google Ads responderá con varios últimos clics, según el CPS.
Si la conversión incluye ciertos CPS en el consentimiento de uso cruzado seleccionado por el usuario, pero no otros, Google Ads responderá con un solo último clic en los CPS que tengan consentimiento de uso cruzado, pero con varios últimos clics, por CPS, para aquellos que no tengan consentimiento de uso cruzado.
Respuesta del seguimiento de conversiones | |
---|---|
ad_event_id |
Siempre presente string
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Siempre presente string Es la métrica de conversión que se utiliza para la atribución. Inicialmente, admitiremos una métrica de conversión. conversion |
timestamp |
Siempre presente número Es la marca de tiempo de UNIX en la que se produjo el evento del anuncio, en segundos con precisión de microsegundos. Este valor se debe usar para la atribución de último clic. 1432681913.123456 |
campaign_type |
Siempre presente string En este campo, se identificará el tipo de campaña que generó el evento del anuncio. Los valores posibles son los siguientes: ACI ACE ACPre Search Display Video Shopping Hotel Performance_Max Other ACI es la abreviatura de Campaña para instalación de aplicación. ACE es la abreviatura de Campañas de participación en la aplicación. |
campaign_id |
Siempre presente número Es el ID numérico de la campaña que generó el evento del anuncio. Se garantiza que este valor es único. 123456789 |
campaign_name |
Siempre presente string Es el nombre de la campaña definida por el anunciante que generó el evento del anuncio. No se garantiza que este valor sea único. Occasional Gamers (Video) |
ad_type |
Siempre presente string Es el tipo de anuncio que generó el evento de anuncio. Este valor se puede usar para distinguir entre varios tipos de inventario de la siguiente manera. Promoción de aplicacionesClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
Siempre presente número Es el identificador del anunciante que posee la campaña que generó el evento del anuncio. Este valor se puede usar para diferenciar las cuentas de Google Ads. 123456789 |
location |
Siempre presente número Es el código de ID de la ubicación geográfica del evento del anuncio. Consulta la referencia de la API de Google Ads para interpretar los códigos de ubicación. |
network_type |
Siempre presente string En este campo, se identificará la red de publicidad de Google Ads en la que ocurrió el evento del anuncio. Los valores posibles son los siguientes: Search Display YouTube GoogleTv cross-network |
network_subtype |
Será string En este campo, se identificará el "subtipo" de la red publicitaria de Google Ads en la que se produjo el evento del anuncio. Los valores posibles varían según el tipo de red principal. BuscarBúsqueda de Google normalGoogleSearch SearchPartners DisplayEditores de la Web en dispositivos móvilesmGDN Google AdMob YouTubeRed de videos de YouTubeYouTubeVideos YouTubeSearch VideoPartners GoogleTvRed de videos de GoogleTVGoogleTvVideos en varias redesCampaña de máximo rendimiento en múltiples redescross-network |
video_id |
Solo se proporciona cuando string Es el ID de video de YouTube asociado al evento del anuncio. dQw4w9WgXcQ |
keyword |
Solo se proporciona cuando string Es la palabra clave de la búsqueda asociada con el evento del anuncio. +food +delivery |
match_type |
Solo se proporciona cuando string Es el tipo de concordancia para las palabras clave de búsqueda. Exactae p b |
placement |
Solo se proporciona cuando string Es la posición asociada al evento del anuncio. mobileapp::1-343200656 |
ad_group_id |
Solo se proporciona cuando número Es el ID numérico del grupo de anuncios que se generó con el evento del anuncio. Este valor tiene la garantía de ser único. 123456789 |
ad_group_name |
Solo se proporciona cuando string Es el nombre del grupo de anuncios definido por el anunciante que produjo el evento del anuncio. No se garantiza que este valor sea único. My App AdGroup |
creative_id |
Solo se proporciona cuando número Es el ID numérico de la unidad de anuncios de la creatividad que generó el evento del anuncio. Este valor tiene la garantía de ser único. 123456789 |
interaction_type |
Este campo siempre será de participación. string |
is_deterministic |
Indica si el método de atribución es determinístico o no. Booleano true, false |
device_model |
Es el modelo del dispositivo que produjo el evento del anuncio. String sm-s936w, sm-3936w |
os_version |
Es la versión principal del SO que produjo el evento del anuncio. String 14, 12 |
country |
Es el código de país de dos letras que generó el evento del anuncio. String CA, US |
city |
Es la ciudad en la que se produjo el evento del anuncio. String san jose, london |
region |
Es el estado o la provincia en la que se produjo el evento del anuncio. String california, british columbia |
Ejemplos de respuesta
A continuación, se muestra un ejemplo de respuesta para una conversión determinística:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "network_type": null, "network_subtype": null, "ad_group_id": null, "ad_group_name": null, "is_deterministic": true "timestamp": 1234567.898765, }], "errors": [], "attributed": true }
A continuación, se muestra un ejemplo de una respuesta para una conversión no determinística de iOS:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "network_type": null, "network_subtype": null, "ad_group_id": null, "ad_group_name": null, "is_deterministic": false }, "device_info": { "device_model": "iphone12,3", "os_version": "14", }, "timestamp": 1432681918.123456 }], "errors": [], "attributed": true }
A continuación, se muestra un ejemplo de una respuesta para una conversión no determinística de Android:
{ "ad_events": [ { "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "network_type": null, "network_subtype": null, "ad_group_id": null, "ad_group_name": null, "is_deterministic": false "geo_info": { "city": "san jose" "country": "US" "region": "california" }, "device_info": { "device_model": "sm-s926u", "os_version": "14", }, "timestamp": 1432681918.123456 }, ], "errors": [], "warnings" [], }
A continuación, se muestra un ejemplo de respuesta para una conversión de iOS o Android atribuida por gbraid:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "interaction_type": "engagement", "network_type": "NULL", "is_deterministic": true "timestamp": 0.000000, }], "errors": [], "attributed": true "warnings" [], }
A continuación, se muestra un ejemplo de una respuesta del seguimiento de conversiones cuando la solicitud contenía errores:
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
A continuación, se muestra un ejemplo de una respuesta negativa del seguimiento de conversiones:
{ "ad_events": [], "errors": [], "attributed": false }
Se devolverá una respuesta de seguimiento de conversiones para todas las solicitudes de seguimiento de conversiones.
A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para un usuario que no se encuentra en el EEE en el caso de una campaña de aplicaciones universal:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para un usuario que no se encuentra en el EEE en el caso de una campaña de Búsqueda:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Search", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": "+space +birds", "match_type": "b", "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para un usuario que no se encuentra en el EEE en el caso de una campaña de Display:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Display", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "mGDN", "video_id": null, "keyword": null, "match_type": null, "placement": "mobile-app::2-343200656", "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para un usuario que no se encuentra en el EEE en una campaña de YouTube:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Video", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "YouTube", "network_subtype": "YouTubeVideos", "video_id": "dQw4w9WgXcQ", "keyword": null, "match_type": null, "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
A continuación, se muestra un ejemplo de una respuesta del seguimiento de conversiones atribuidas en la que la conversión se atribuye a las interacciones con los anuncios de Play y de Búsqueda, pero se rechaza el consentimiento de uso cruzado de los Artículos 5(2)(b) y 5(2)(c) entre los CPS de Play y de Búsqueda:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, { "ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
Un ejemplo de una respuesta del seguimiento de conversiones atribuidas en la que la conversión se atribuye a las interacciones con anuncios de Play y de búsqueda, y se acepta el consentimiento de uso cruzado de los artículos 5(2)(b) y 5(2)(c) entre los CPS de Play y de búsqueda es similar al comportamiento de las conversiones actual:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
A continuación, se muestra un ejemplo de una respuesta de seguimiento de conversiones atribuidas en la que la conversión se atribuye a las interacciones con anuncios de Play, la Búsqueda y YouTube, y se acepta el consentimiento de uso cruzado de los artículos 5(2)(b) y 5(2)(c) entre los CPS de Play y la Búsqueda, pero se rechaza para el CPS de YouTube:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, { "ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Youtube", "network_subtype": "YouTubeVideos", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
Solicitud de atribución de varias redes
Cuando Google Ads responde de forma afirmativa a una solicitud de seguimiento de conversiones, el consumidor de la API debe notificar a Google Ads su decisión de atribución en múltiples redes después de identificar el último clic.
La solicitud de atribución en varias redes es idéntica a la solicitud original de seguimiento de conversiones, pero con una ruta de acceso de solicitud de:
/pagead/conversion/app/1.1/cross_network
y la adición de dos parámetros obligatorios:
Solicitud de atribución de varias redes | |
---|---|
ad_event_id |
Obligatorio Ubicación: Consulta Es el identificador |
attributed |
Obligatorio Ubicación: Consulta Indica si el consumidor de la API acreditó o no la conversión a Google Ads. |
Un ejemplo de una solicitud de atribución entre varias redes válida es el siguiente:
POST /pagead/conversion/app/1.1/cross_network ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=custom &app_event_name=level_achieved &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ &attributed=1 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
Una solicitud de atribución entre redes válida siempre recibirá una respuesta genérica 200 sin cuerpo de respuesta.