Grammaire du langage de requête Google Ads

Cette page contient la référence de la grammaire du langage de requête Google Ads. Pour en savoir plus sur la structure des requêtes, consultez Structure des requêtes.

Guide de référence sur la grammaire

Voici la documentation de référence sur la grammaire du langage de requête Google Ads (dans la notation d'expression régulière) :

Query            -> SelectClause FromClause? WhereClause? OrderByClause?
                    LimitClause? ParametersClause?
SelectClause     -> SELECT FieldName ("," FieldName)*
FromClause       -> FROM ResourceName
WhereClause      -> WHERE Condition (AND Condition)*
OrderByClause    -> ORDER BY Ordering ("," Ordering)*
LimitClause      -> LIMIT PositiveInteger
ParametersClause -> PARAMETERS Literal "=" Value ("," Literal "=" Value)*

Condition        -> FieldName IS NULL
                  | FieldName IS NOT NULL
                  | FieldName BETWEEN Value AND Value
                  | FieldName Operator Value
Operator         -> "=" | "!=" | ">" | ">=" | "<" | "<=" | IN | NOT IN
                  | LIKE | NOT LIKE | CONTAINS ANY | CONTAINS ALL
                  | CONTAINS NONE | DURING
                  | REGEXP_MATCH | NOT REGEXP_MATCH
Value            -> Literal | LiteralList | Number | NumberList | String
                  | StringList | Function
Ordering         -> FieldName (ASC | DESC)?

FieldName        -> [a-z]([a-zA-Z0-9._])*
ResourceName     -> [a-z]([a-zA-Z0-9_])*

StringList       -> "(" String ("," String)* ")"
LiteralList      -> "(" Literal ("," Literal)* ")"
NumberList       -> "(" Number ("," Number)* ")"

PositiveInteger  -> [1-9]([0-9])*
Number           -> -?[0-9]+(\.[0-9]+)?
String           -> ("'" SingleQuoteChar* "'") | ('"' DoubleQuoteChar* '"')
SingleQuoteChar  -> [^'\\\r\n] | EscapeSequence
DoubleQuoteChar  -> [^"\\\r\n] | EscapeSequence
EscapeSequence   -> "\\" ("\\" | "'" | '"' | "n" | "r" | "t")
Literal          -> [a-zA-Z]([a-zA-Z0-9_])*

Function         -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS
                  | LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN
                  | LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY
                  | THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY
  • ? indique un élément facultatif.
  • * : zéro ou plusieurs ; + : un ou plusieurs.
  • (...) indique un regroupement, tandis que "(" et ")" indiquent des parenthèses littérales.
  • [a-z0-9] indique des plages de caractères, et [^...] indique n'importe quel caractère, à l'exception de ceux listés.
  • | signifie "ou".

Règles et limites

  • FromClause est obligatoire lorsque vous interrogez GoogleAdsService et doit être omis lorsque vous interrogez GoogleAdsFieldService.

  • WhereClause n'accepte de combiner des conditions qu'avec AND. L'opérateur logique OR n'est pas pris en charge. Utilisez plutôt l'opérateur IN ou REGEXP_MATCH.

  • L'opérateur REGEXP_MATCH utilise la syntaxe RE2.

  • Pour faire correspondre un caractère littéral [, ], % ou _ à l'aide de l'opérateur LIKE, entourez le caractère de crochets. Par exemple, la condition suivante correspond à toutes les valeurs campaign.name commençant par [Earth_to_Mars] :

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • L'opérateur LIKE ne peut être utilisé que sur un champ de chaîne, et non sur un tableau.