Seguimiento de conversiones de aplicaciones y remarketing: especificaciones de solicitudes y respuestas

Usuario-agente de la app

Como parte de nuestras iniciativas más amplias a fin de combatir el spam, desarrollamos una especificación estándar para el encabezado de usuario-agente que envía un producto de estadísticas o anuncios en nombre de un usuario de la app. El usuario-agente de la app 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 usuario-agente
name

Es el nombre del producto de estadísticas o anuncios. (Google AdMob)

Ten en cuenta que, si el usuario-agente se construye del lado del cliente, name debería ser el ID del paquete de la app cliente.


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
version

Es la versión del producto de estadísticas/anuncios. (7.10.1)


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 (Android 6.0 )


Android
String osAndVersion =
    "Android " + Build.VERSION.RELEASE;

iOS
UIDevice *uid =
  [UIDevice currentDevice];
NSString *osAndVersion =
  [NSString
    stringWithFormat:@"%@ %@",
    [uid systemName],
    [uid systemVersion]];
locale

Una etiqueta de configuración regional IETF para el dispositivo, con un código de país y un idioma de dos letras separados por un guion bajo. (en_US)


Android
String locale = Locale.getDefault();

iOS
NSString *locale =
  [[NSLocale currentLocale]
    localeIdentifier]
device

Es el nombre del dispositivo físico que ejecuta el producto de estadísticas o anuncios. (iPhone9,1)


Android
String 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. (Build/13D15)


Android
String 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 debes incluir ; Proxy al final del usuario-agente de la app cuando construyas el servidor del usuario-agente de la app. Si el usuario-agente de la app se construyó por completo en el lado del cliente, excluye ; Proxy. Por lo tanto, un usuario-agente de la aplicación podría ser:

  • 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)

Solicitud 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 registrar como una conversión o usarse para propagar una lista de remarketing y recuperar metadatos que describan cualquier clic anterior al evento.

Todas las llamadas a la API se realizan en el 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
en la que version es la versión deseada de la API de seguimiento de conversiones. Actualmente, la única versión válida es 1.0.

Una solicitud de conversión de aplicación estándar contendrá los siguientes parámetros.

Solicitud de seguimiento de conversiones
dev_token

Obligatorio


Ubicación: Consulta


El token de desarrollador estático y único que se emitió al consumidor de la API.

Z_eErE4DkvcKjDM1OVE4c4
link_id

Obligatorio


Ubicación: Consulta


El identificador del vínculo que vincula el token de desarrollador del consumidor de la API con una app específica.

31FF8D67E5BB5DD5029DCC2734C2F884
app_event_type

Obligatorio


Ubicación: Consulta


El nombre del evento de la app que se produjo. 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 first_open siempre debe enviarse para atribuir instalaciones y el evento session_start siempre para volver a atribuir sesiones. Usa in_app_purchase para las compras realizadas a través de la tienda de aplicaciones nativa; usa ecommerce_purchase para todas las demás compras.

app_event_name

Obligatorio en determinadas condiciones


Ubicación: Consulta


El nombre de cualquier evento de app personalizado que no se acepte en el campo app_event_type Este campo debe contener entre 1 y 64 caracteres Unicode (mediante la codificación UTF-8). Este campo es obligatorio si app_event_type es personalizado.

level_achieved
Level Achieved

Este campo no debe contener ninguno de los valores reservados para app_event_type. Si se usa un nombre de evento reservado, la API mostrará un error APP_EVENT_NAME_RESERVED_VALUE.

app_event_data

Opcional


Ubicación: Cuerpo


Reenvía cualquier dato de evento enriquecido adicional como un objeto JSON simple que asigna claves de string a los valores. Los valores aceptables son strings y arreglos de strings.

{"level": 5, "attempts": 20}
rdid

Obligatorio


Ubicación: Consulta


Una string de UUID válida que representa el ID de dispositivo sin procesar.

f10e1de2-e237-4f50-b6aa-843c45cc63d6

En caso de que falte ese ID de dispositivo, como el de un usuario que no otorgó su consentimiento, establece el valor como cero.

00000000-0000-0000-0000-000000000000
id_type

Obligatorio


Ubicación: Consulta


El tipo de identificador almacenado en el campo rdid. Es posible que aceptemos más valores en el futuro, pero, para comenzar, admitiremos lo siguiente.


Android

advertisingid

iOS

idfa
lat

Obligatorio


Ubicación: Consulta


Limita el estado del seguimiento de anuncios del dispositivo.

  • 0: El usuario no eligió limitar el seguimiento de anuncios.
  • 1: El usuario eligió limitar el seguimiento de anuncios.

app_version

Obligatorio


Ubicación: Consulta


La versión actual de la app. Se debe estandarizar de la siguiente manera.


Android

packageManager.getPackageInfo(packageName(),
  PackageManager.GET_META_DATA).versionName

iOS

[[[NSBundle mainBundle] infoDictionary]
  objectForKey:@"CFBundleShortVersionString"]

1.2.4
os_version

Obligatorio


Ubicación: Consulta


La versión actual del SO host de la app. Esto se debe estandarizar de la siguiente manera.


Android

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

Obligatorio


Ubicación: Consulta


Es la versión del SDK que midió el evento. Debido a que esto se usa principalmente para la depuración, debe reflejar la versión de lanzamiento tal como se publica con las versiones de SDK. Si la app no usa un SDK, pasa el mismo valor que app_version.

1.9.5r6
timestamp

Obligatorio


Ubicación: Consulta


La marca de tiempo de UNIX que produjo el evento de conversión, en segundos con una precisión de hasta microsegundos.

1432681913.123456
value

Opcional


Ubicación: Consulta


El valor monetario del evento, si lo hubiera. Siempre debe tener el formato de un valor de punto flotante apto para la lectura automática con un punto decimal a fin de separar la parte entera y la fracción 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 value. Este campo es obligatorio si se proporciona el parámetro value y no está en blanco.

USD
gclid

Obligatorio en determinadas condiciones


Ubicación: Consulta


El valor del parámetro de búsqueda gclid de una URL de vínculo directo que abrió la app.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

Obligatorio en determinadas condiciones


Ubicación: Consulta


El valor del parámetro de búsqueda gclid de una URL de vínculo directo capturada a partir del valor install_referrer a través de la API de referencia de instalación de Play

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

Obligatorio en determinadas condiciones


Ubicación: Consulta


Es el identificador de la atribución basada en gclid en los casos en que el rdid (advertisingid) está not disponible o todos los zeroes y gclid o market_referrer_gclid están presentes.

1
gbraid

Obligatorio en determinadas condiciones


Ubicación: Consulta


El valor gbraid visto por última vez se envió a través de la URL de vínculo directo que abrió la app. Ten en cuenta que este debe almacenarse en caché en la app para que pueda enviarse con las conversiones futuras que ocurran en ella.

ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
app_open_source

Obligatorio en determinadas condiciones


Ubicación: Consulta


Valor para identificar el vínculo directo de clic en el anuncio o las sesiones de aplicaciones orgánicas.

ad_click or organic
User-Agent

Obligatorio


Ubicación: Encabezado


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


La dirección IPv4 o IPv6 pública del dispositivo en el que se midió el evento.

216.58.194.174

Todas las solicitudes se deben enviar 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 app_event_data), nuestro servidor requiere que configures de forma explícita el encabezado Content-Length: 0 en tu solicitud.

Solicitud de muestra

A continuación, se muestra un ejemplo de una solicitud de seguimiento de conversiones válida con un tipo de evento no personalizado y la información de ingresos:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=in_app_purchase
       &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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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
{"app_event_data":{"item_id":["Crayons","Markers"]}}

A continuación, se incluye un ejemplo de una solicitud de seguimiento de conversiones válida con un tipo de evento no personalizado y la información de ingresos con un rdid (advertisingid) no disponible:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=in_app_purchase
       &rdid=00000000-0000-0000-0000-000000000000
       &id_type=advertisingid
       &lat=1
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
       &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
       &gclid_only_request=1
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"]}}

A continuación, se muestra un ejemplo de una solicitud de inicio de sesión válida:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=session_start
       &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
       &timestamp=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 reatribución válida para el inicio de sesión de una sesión que se inició desde el vínculo directo example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=session_start
       &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
       &timestamp=1432681913.123456
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
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

Codificación de datos de eventos

En el parámetro del cuerpo app_event_data, usa las siguientes convenciones para los tipos de datos primitivos:

  • Flotante

    • Usa un 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 la notación exponencial, p. ej., 2E+9.
    • No uses un 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

    • Enviar solo números enteros no decimales
    • No use comas para separar los 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., 2016
      • mm = mes de dos dígitos, p.ej., 09 para septiembre
      • dd = día de dos dígitos, p.ej., 23 para el día 23 del mes
    • Siempre envía la cantidad de dígitos especificada anteriormente, p. ej., si envías el valor de dd para el 5.o día del mes, envía 05.
    • Ejemplos válidos:
      • "2016-09-23"
      • "1990-12-31"
  • Marca de tiempo

    • Formato de tiempo: Marca de tiempo Unix/Époch definida en la zona horaria UTC con una precisión de hasta microsegundos
    • Ejemplos válidos:
      • 1478713087 para el miércoles 9 de noviembre de 2016 a las 17:38:07 GMT
      • 1073513982.123000 para el miércoles 7 de enero de 2004 a las 22:19:42.123 GMT
  • Arreglos

    • Enviar solo arreglos de valores primitivos (strings, números y booleanos)
    • Ejemplos válidos:
      • [123, 456, 789]
      • ["abc"]

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
}

Es posible que los arreglos ad_events y errors estén vacíos.

Se espera que los errores sean códigos de error procesables, p.ej., invalid_timestamp.

Los eventos de anuncios son los objetos principales de la atribución de apps y contendrán las siguientes propiedades.

Respuesta del seguimiento de conversiones
ad_event_id

Siempre presente


string


ad_event_id sirve como identificador único para eventos de anuncios. Se vuelve a usar en la solicitud de atribución de redes múltiples y se debe registrar o retener para fines de depuración.

Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
conversion_metric

Siempre presente


string


Es la métrica de conversión utilizada para la atribución. Inicialmente, admitimos una métrica de conversión.

conversion
timestamp

Siempre presente


número


Es la marca de tiempo UNIX que produjo el evento de anuncio, en segundos y con una precisión de hasta microsegundos. Este valor debe usarse para la atribución de último clic.

1432681913.123456
campaign_type

Siempre presente


string


Este campo identificará el tipo de campaña que produjo el evento de anuncio. Los valores posibles son los siguientes.

ACI
ACE
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 produjo el evento de anuncio. Este valor se garantiza como único.

123456789
campaign_name

Siempre presente


string


Es el nombre de la campaña definida por el anunciante de la campaña que produjo el evento de anuncio. No se garantiza que este valor sea único.

Occasional Gamers (Video)
ad_type

Siempre presente


string


Indica 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 aplicación
ClickToDownload
Participación en la aplicación
AppDeepLink
Participación en la aplicación: Flujo de instalación y continuación
AppDeepLinkContinue
Aproveche el resto de los valores
Unknown
external_customer_id

Siempre presente


número


Es el identificador del anunciante que posee la campaña que produjo el evento de 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 ubicación para 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


Este campo identificará la red de publicidad de Google Ads en la que se produjo el evento de anuncio. Los valores posibles son los siguientes.

Search
Display
YouTube
network_subtype

Será null cuando campaign_type sea ACI o ACE y network_type sea Display.


string


Este campo identificará el “subtipo” de la red de publicidad de Google Ads en la que se produjo el evento de anuncio. Los valores posibles varían según el tipo de red principal.


Búsqueda de Google común
GoogleSearch
Socios de Búsqueda de Google
SearchPartners

Pantalla

Publicadores web móviles
mGDN
Publicadores de aplicaciones
Google AdMob

YouTube

Red de videos de YouTube
YouTubeVideos
Red de búsqueda de YouTube
YouTubeSearch
Socios de video
VideoPartners
video_id

Solo se proporciona cuando network_type es YouTube y campaign_type no ACI ni ACE.


string


Es el ID de video de YouTube asociado con el evento de anuncio.

dQw4w9WgXcQ
keyword

Solo se proporciona cuando network_type es Search y campaign_type no ACI ni ACE.


string


La palabra clave de búsqueda asociada con el evento del anuncio.

+food +delivery
match_type

Solo se proporciona cuando network_type es Search y campaign_type no ACI ni ACE.


string


Es el tipo de concordancia para las palabras clave de la Búsqueda.

Exacta
e
Frase
p
Amplia
b
placement

Solo se proporciona cuando network_type es Display y campaign_type no ACI ni ACE.


string


Es la posición asociada con el evento del anuncio.

mobileapp::1-343200656
ad_group_id

Siempre presente


número


Es el ID numérico del grupo de anuncios que produjo el evento de anuncio. Este valor se garantiza como único.

123456789
ad_group_name

Solo se proporciona cuando campaign_type es ACI, ACE o ACPRE.


string


Es el nombre del grupo de anuncios definido por el anunciante que produjo el evento de anuncio. No se garantiza que este valor sea único.

My App AdGroup
creative_id

Solo se proporciona cuando campaign_type no es ACI ni ACE.


número


Es el ID numérico del bloque de anuncios de la creatividad que produjo el evento de anuncio. Este valor se garantiza como único.

123456789
interaction_type

Este campo siempre será participación.


string

Ejemplos de respuesta

Este es un ejemplo de una respuesta del seguimiento de conversiones cuando la solicitud contenía errores:

{
  "ad_events": [],
  "errors": ["INVALID_CURRENCY_CODE"],
  "attributed": false
}

Este es un ejemplo de una respuesta del seguimiento de conversiones negativa:

{
  "ad_events": [],
  "errors": [],
  "attributed": false
}

Se mostrará una respuesta del seguimiento de conversiones para todas las solicitudes del seguimiento de conversiones.

Este es un ejemplo de una respuesta afirmativa del seguimiento de conversiones para una Campaña universal de aplicaciones:

{
  "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
}

A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para 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
}

A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para 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
}

A continuación, se muestra un ejemplo de una respuesta afirmativa del seguimiento de conversiones para 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
}

Solicitud de atribución de varias redes

Cuando Google Ads responde a una solicitud de seguimiento de conversiones de manera afirmativa, el consumidor de la API debe notificar a Google Ads sobre su decisión de atribución de varias redes después de identificar el último clic.

La solicitud de atribución de varias redes es idéntica a la solicitud de seguimiento de conversiones original, pero tiene la siguiente ruta de solicitud:

/pagead/conversion/app/1.0/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


El identificador ad_event_id del evento de anuncio asociado con la atribución en la solicitud anterior.

attributed

Obligatorio


Ubicación: Consulta


Indica si Google Ads recibió crédito por la conversión o no por el consumidor de la API. 0 o 1

Este es un ejemplo de una solicitud de atribución de varias redes válida:

POST /pagead/conversion/app/1.0/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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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 de varias redes válida siempre recibirá una respuesta 200 genérica sin cuerpo de respuesta.