Dans l'interface utilisateur Google Ads, sous la forme d'un menu distinct, la segmentation peut être :
dans l'API Google Ads en ajoutant simplement le champ approprié à une requête. Pour
par exemple, en ajoutant segments.device
à
génère un rapport contenant une ligne pour chaque combinaison d'appareil
ressource spécifiée dans la clause FROM
, et la
des valeurs statistiques (impressions, clics, conversions, etc.) réparties entre elles.
Dans l'interface utilisateur Google Ads, vous ne pouvez utiliser qu'un seul segment à la fois, l'API, vous pouvez spécifier plusieurs segments dans la même requête.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Les résultats de l'envoi
de cette requête à
GoogleAdsService.SearchStream
ressemblerait à ceci:
{
"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"
}
},
...
]
}
Notez que dans l'exemple de résultat ci-dessus, les attributs des premier et deuxième sont identiques, y compris le nom de la ressource. Les impressions sont segmentées par appareil. Ainsi, au moins deux objets peuvent être renvoyés pour la même campagne.
Segmentation implicite
Chaque rapport est initialement segmenté en fonction de la ressource spécifiée dans le FROM
. Dans la clause FROM
, le champ resource_name de la ressource est
et que les métriques sont segmentées par ce champ, même si le champ resource_name est
qui ne sont pas explicitement incluses dans la requête. Par exemple, lorsque vous spécifiez
ad_group
comme ressource dans la clause FROM
, puis
ad_group.resource_name
va
sont automatiquement renvoyées, et les métriques la segmentent implicitement au moment
au niveau du groupe d'annonces.
Pour cette requête,
SELECT metrics.impressions
FROM ad_group
vous obtenez une chaîne JSON comme suit:
{
"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"
}
}
]
}
Notez que le champ resource_name
de adGroup
est toujours renvoyé, car
ad_group
a été spécifié en tant que ressource dans la clause FROM
.
Champs de segment sélectionnables
Il n'est pas possible de sélectionner tous les champs de segment pour une ressource donnée dans la clause FROM
.
Par exemple, nous continuerons d'exécuter la requête à partir de ad_group
ressource. Pour qu'un champ de segment puisse être sélectionné à partir de la ressource ad_group,
ce champ doit figurer dans la liste Segments
pour ad_group. Segments
est la partie jaune du tableau des champs disponibles
Page des métadonnées de la ressource ad_group
.
Segmenter les ressources
Lorsque vous faites votre choix parmi certaines ressources, vous pouvez avoir la possibilité de joindre implicitement
sur les ressources associées en sélectionnant leurs champs à côté de ceux du
ressource dans la clause FROM
. Vous trouverez ces ressources associées dans le
Liste Attributed Resources
sur la ressource dans les métadonnées de la clause FROM
. Dans le cas de la ressource ad_group
, vous verrez :
que vous pouvez également sélectionner des champs à partir de campaign
ressource. Le champ resource_name de toute Attributed Resources
comportant au moins
1 champ de la clause SELECT
est automatiquement renvoyé, même si le
Le champ resource_name n'est pas explicitement inclus dans la requête.
Comme pour les champs Attributed Resource
, vous pouvez également sélectionner
Segmenting Resource
. Si une ressource donnée possède un Segmenting Resources
sur sa page de métadonnées, puis en sélectionnant les champs de l'une des ressources listées
la requête sera segmentée de façon plus poussée selon le resource_name renvoyé
Segmenting Resource
Par exemple, vous constaterez que la
La ressource campaign
est répertoriée en tant que Segmenting Resource
pour la ressource campaign_budget
. Vous pouvez sélectionner
champ de campagne, comme campaign.name
, à partir de
la ressource campaign_budget ne fera pas seulement en sorte que le champ campaign.name soit
mais le nombre d'occurrences
Le champ campaign.resource_name
doit être
sont renvoyés et segmentés.
La sélection entre les segments et les métriques
Il est possible qu'un champ de segment donné ne soit pas compatible avec certains des autres segments.
ou avec certains champs de métriques. Pour identifier les champs de segment
sont compatibles entre elles, vous pouvez consulter la liste selectable_with
des segments de la clause SELECT
.
Dans le cas du
ad_group
, plus de 50 segments sont disponibles
que vous pouvez sélectionner. Cependant, la liste selectable_with
pour
segments.hotel_check_in_date
est un ensemble plus restreint
de segments compatibles. Cela signifie que si vous ajoutez
segments.hotel_check_in_date
dans la clause SELECT
, vous limitez
les segments disponibles qu'il vous reste à sélectionner jusqu'à l'intersection de ces
.
- Lorsque vous ajoutez des segments, les métriques de la ligne récapitulative peuvent diminuer
- Lorsque
segments.keyword.info.match_type
est ajouté à une requête avecFROM ad_group_ad
, ce segment indique à la requête d'obtenir uniquement les lignes de les données contenant des mots clés, puis supprimer les lignes qui ne sont pas associées à mot clé. Dans ce cas, les métriques sont inférieures, car elles excluent toute non liées aux mots clés.
Règles pour les segments dans la clause WHERE
Lorsqu'un segment se trouve dans la clause WHERE
, il doit également se trouver dans la clause SELECT
. Les plages de dates suivantes font exception à cette règle,
appelées segments de dates principaux:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Règles pour les champs des segments de dates principaux
Les segments segments.date
, segments.week
, segments.month
segments.quarter
et segments.year
fonctionnent comme suit:
Ces segments peuvent être filtrés dans la clause
WHERE
sans s'afficher dans la clauseSELECT
.Si l'un de ces segments figure dans la clause
SELECT
, une plage de dates limitée composé de segments de dates principaux doit être spécifié dans la clauseWHERE
Il n'est pas nécessaire que les plages de dates soient identiques à celles spécifiées dans leSELECT
).
Exemples
Non valide:segments.date étant
dans la clause SELECT , vous devez spécifier une plage de dates finie
la clause WHERE pour segments.date ,
segments.week , segments.month ,
segments.quarter ou segments.year .
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Valide:cette requête renvoie les noms des campagnes et
le nombre de clics enregistrés au cours de la période. Notez que segments.date
n'a pas besoin d'apparaître dans la clause SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
Valide:cette requête renvoie les noms des campagnes et clics segmentés par date pour tous les jours de la période. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
Valide:cette requête renvoie les noms des campagnes et clics segmentés par mois pour tous les jours de la période. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
Valide:cette requête renvoie les noms des campagnes et clics segmentés par trimestre, puis par mois pour tous les mois de la période. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2015 AND segments.year < 2020 |
search_term_view
Notez que pour le paramètre
search_term_view
, il est également
implicitement segmentée par groupe d'annonces (et pas seulement par terme de recherche), comme indiqué par le
de ses ressources
nom, qui
inclut également le groupe d'annonces. Vous obtiendrez donc des images en double,
avec les mêmes termes de recherche apparaissant dans les résultats, alors qu'en réalité,
elles appartiennent à un autre groupe d'annonces:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2015-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2015-06-15"
}
}
]
}
Bien que les deux objets renvoyés dans cet exemple semblent être des doublons,
leurs noms de ressources sont différents, en particulier au niveau du groupe d'annonces.
. Cela signifie que le terme de recherche "google photos" est attribuée aux deux
groupes d'annonces (ID 2222222222
et 33333333333
) à la même date (15/06/2015).
Ainsi, nous pouvons en conclure que l'API a fonctionné comme prévu et n'a pas renvoyé
des objets en double dans ce cas.