La segmentación está disponible en la IU de Google Ads como un menú independiente. Para implementar la segmentación en la API de Google Ads, agrega el campo adecuado a una consulta. Por
ejemplo, supongamos que agregas segments.device
a una consulta. Esto genera un informe con una fila para cada combinación de dispositivo
y el recurso especificado en la cláusula FROM, y
los valores estadísticos (impresiones, clics, conversiones, etc.) divididos entre
ellos.
En la IU de Google Ads, solo se puede usar un segmento a la vez, pero con la API puedes especificar varios segmentos en la misma consulta.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Los resultados de enviar esta consulta a GoogleAdsService.SearchStream se parecerán a esta cadena JSON:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
En este resultado de muestra, los atributos del primer y segundo objeto, incluido el nombre del recurso, son los mismos. Las impresiones se segmentan por dispositivo, por lo que se pueden mostrar dos o más objetos para la misma campaña.
Segmentación implícita
Inicialmente, cada informe se segmenta según el recurso especificado en la cláusula FROM. Se muestra el campo resource_name del recurso en la cláusula FROM y las métricas se segmentan según este, incluso cuando el campo resource_name no se incluye de forma explícita en la consulta. Por ejemplo, cuando especificas
ad_group como el recurso en la FROM cláusula, entonces
ad_group.resource_name se
mostrará automáticamente y las métricas se segmentarán de forma implícita según este a nivel del
grupo de anuncios.
Entonces, para esta consulta,
SELECT metrics.impressions
FROM ad_group
obtendrías una cadena JSON como esta:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
El campo resource_name de adGroup siempre se muestra porque ad_group se especifica como un recurso en la cláusula FROM.
Campos de segmento seleccionables
No todos los campos de segmento se pueden seleccionar para un recurso determinado en la cláusula FROM.
Por ejemplo, supongamos que sigues consultando desde el
ad_group recurso. Para que un campo de segmento se pueda seleccionar desde el recurso ad_group, ese campo debe existir en la lista Segments de ad_group. La lista Segments es la parte amarilla de la tabla de campos disponibles
en la página de metadatos del recurso ad_group.
Recursos de segmento
Cuando seleccionas algunos recursos, es posible que tengas la opción de unirte de forma implícita a los recursos relacionados seleccionando sus campos junto con los campos del recurso en la cláusula FROM. Estos recursos relacionados se pueden encontrar en la lista Attributed Resources del recurso en la página de metadatos de la cláusula FROM. En el caso del recurso ad_group, verás
que también puedes seleccionar campos del recurso campaign. El campo resource_name de cualquier Attributed Resources con al menos un campo en la cláusula SELECT se mostrará automáticamente, incluso cuando el campo resource_name no se incluya de forma explícita en la consulta.
Al igual que con la selección de campos Attributed Resource, también puedes seleccionar campos Segmenting Resource. Si un recurso determinado tiene una Segmenting Resources
lista en su página de metadatos, si seleccionas campos de uno de esos recursos enumerados, la consulta se segmentará aún más según el resource_name que se muestre de ese Segmenting Resource. Por ejemplo, verás que
el recurso campaign aparece como un Segmenting
Resource para el recurso campaign_budget.
Si seleccionas cualquier campo de campaña, como
campaign.name, del campaign_budget
recurso, no solo se mostrará el campo campaign.name, sino que también se mostrará el campo campaign.resource_name y se segmentará según este.
Capacidad de selección entre segmentos y métricas
Es posible que un campo de segmento determinado no sea compatible con algunos de los otros campos de segmento o con algunos de los campos de métricas. Para identificar qué campos de segmento son compatibles entre sí, revisa la lista selectable_with de los segmentos en la cláusula SELECT.
En el caso del recurso ad_group, hay más de 50 segmentos disponibles que puedes seleccionar. Sin embargo, la lista selectable_with para
segments.hotel_check_in_date
es un conjunto mucho más pequeño de segmentos compatibles. Esto significa que, si agregas el campo segments.hotel_check_in_date a la cláusula SELECT, limitarás los segmentos disponibles que te quedan para seleccionar a la intersección de estas dos listas.
Filtrado implícito por selección de segmentos
Cuando seleccionas ciertos campos de segmento en tu consulta, es posible que la API de Google Ads filtre de forma implícita los resultados para incluir solo las filas en las que ese segmento sea aplicable y tenga un valor.
Impacto de segments.keyword.*
Un ejemplo común e importante de este comportamiento ocurre cuando se selecciona cualquier campo
en segments.keyword (como segments.keyword.info.text y
segments.keyword.ad_group_criterion).
- Exclusión del tráfico que no proviene de palabras clave: Si incluyes algún campo
segments.keyword.*en tu cláusulaSELECT, se restringirán los resultados solo a las filas asociadas directamente con un criterio de grupo de anuncios de palabras clave de la Red de Búsqueda. Tipos de campañas afectados: En consecuencia, los datos de los tipos de campañas o grupos de anuncios que no dependen de las palabras clave de la Búsqueda se excluyen de los resultados. Esto incluye lo siguiente (entre otros aspectos):
- Anuncios dinámicos de búsqueda (DSA): Esto se debe a que los objetivos de los DSA se basan en el contenido del sitio web en lugar de las palabras clave.
- Campañas de Shopping: Estas utilizan grupos de productos en lugar de palabras clave.
- Campañas de máximo rendimiento: Si bien las campañas de máximo rendimiento pueden publicarse en la Búsqueda, sus informes no suelen segmentarse según los mismos criterios de palabras clave.
Red de Display: Los campos
segments.keyword.*pertenecen a las palabras clave que se usan en la Red de Búsqueda. No se segmentan según las palabras clave de la Red de Display ni otros métodos de segmentación de la red de Display.
Práctica recomendada: Si tu análisis debe incluir datos de rendimiento de DSA, Shopping o de otras fuentes que no se basen en palabras clave de la Búsqueda, no incluyas campos de segments.keyword.* en tu consulta. Primero, analiza los datos de todos los tipos de campañas y aplica la segmentación por palabras clave solo cuando te enfoques en el rendimiento de las palabras clave de la Búsqueda.
Reglas para los segmentos en la cláusula WHERE
Cuando un segmento está en la cláusula WHERE, también debe estar en la cláusula SELECT.
La excepción a esta regla son los siguientes segmentos de fecha, que se denominan
segmentos de fecha principales:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Reglas para los campos de segmento de fecha principal
Los segmentos segments.date, segments.week, segments.month, segments.quarter y segments.year funcionan de la siguiente manera:
Estos segmentos se pueden filtrar en la cláusula
WHEREsin aparecer en la cláusulaSELECT.Si alguno de estos segmentos está en la cláusula
SELECT, se debe especificar un período determinado compuesto por segmentos de fecha principales en la cláusulaWHERE. No es necesario que los segmentos de fecha sean los mismos que se especifican en la cláusulaSELECT.
Ejemplos
No válido: Como segments.date está
en la cláusula SELECT, debes especificar un período determinado en
la cláusula WHERE para segments.date,
segments.week, segments.month,
segments.quarter o segments.year.
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Válido: Esta consulta muestra los nombres de las campañas y los
clics acumulados durante el período. Ten en cuenta que no es necesario que segments.date aparezca en la cláusula SELECT.
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Válido: Esta consulta muestra los nombres de las campañas y los clics segmentados por fecha para todos los días del período. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Válido: Esta consulta muestra los nombres de las campañas y los clics segmentados por mes para todos los días del período. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Válido: Esta consulta muestra los nombres de las campañas y los clics segmentados por trimestre y, luego, por mes para todos los meses del período anual. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2019 AND segments.year < 2024 |
search_term_view
El recurso search_term_view también se segmenta de forma implícita
por grupo de anuncios, no solo por un término de búsqueda, como se refleja en la estructura de
su nombre de recurso,
que también incluye el grupo de anuncios. Por lo tanto, obtendrás algunas filas que parecen duplicadas con los mismos términos de búsqueda que aparecen en tus resultados, pero estas filas pertenecen a un grupo de anuncios diferente.
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2024-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2024-06-15"
}
}
]
}
Aunque los dos objetos que se muestran en este ejemplo parecen ser duplicados, sus nombres de recursos son diferentes, en particular en la parte del "grupo de anuncios". Esto significa que el término de búsqueda "google fotos" se atribuye a los dos grupos de anuncios (ID 2222222222 y 33333333333) en la misma fecha (2024-06-15). Por lo tanto, podemos concluir que la API funcionó según lo previsto y no mostró objetos duplicados en este caso.