Ciblage géographique des campagnes dans l'API Ads (Campaign Targeting)
Idée centrale
L'API Ads permet de cibler géographiquement une campagne par pays, région ou DMA (« Designated Market Area », zone de marché télévisuel/publicitaire nord-américaine). Le ciblage repose sur deux étapes : rechercher des identifiants de localisation via un endpoint dédié (geo_lookup/search), puis les appliquer au champ targeting.locations.include lors de la création (ou mise à jour) d'une campagne — voir Campagnes et annonces dans l'API Ads.
Définition
L'endpoint GET /geo_lookup/search de l'API Ads, associé au champ targeting.locations.include de la ressource campagne, qui permettent de rechercher puis d'appliquer un ciblage géographique par programmation.
Contexte
Cette page n'est pas elle-même une page de référence api-reference/ : c'est un guide fonctionnel qui utilise l'endpoint de création de campagne (POST /campaigns, documenté dans Campagnes et annonces dans l'API Ads) pour illustrer un cas d'usage précis, tout en introduisant un endpoint distinct propre au ciblage (geo_lookup/search) qui n'appartient à aucune des pages de référence api-reference/. Capturée le 2026-08-08.
Fonctionnement
Rechercher des localisations — GET /geo_lookup/search
curl -G "https://api.ads.openai.com/v1/geo_lookup/search" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
--data-urlencode "q=San Francisco" \
--data-urlencode "limit=5"
| Paramètre | Description |
|---|---|
q | Texte de recherche (ex. « San Francisco »). |
limit | Nombre maximal de résultats. |
La réponse contient count, query, et un tableau results, chaque résultat exposant : id (identifiant de localisation, ex. "3000194"), type (ex. "dma"), canonical_name (nom complet, ex. « San Francisco - Oakland - San Jose, United States »), country_code (ex. "US"), name (nom affiché court), region_code (ex. "807").
Catalogue complet en CSV
Un lien de téléchargement fournit l'ensemble du catalogue de localisations ciblables (openai-geotargets.csv), utile pour une recherche hors ligne plutôt qu'un appel API par requête.
Application à une campagne
À la création d'une campagne (POST /campaigns), le ciblage se déclare via targeting.locations.include, une liste d'objets ne nécessitant que le champ id — l'API complète automatiquement les détails de localisation correspondants dans la campagne enregistrée. Si aucun ciblage n'est fourni, la campagne peut cibler toutes les localisations disponibles par défaut.
curl -X POST "https://api.ads.openai.com/v1/campaigns" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: campaign-targeting-example-1" \
-d '{
"name": "West Coast launch",
"status": "paused",
"budget": { "lifetime_spend_limit_micros": 25000000 },
"bidding_type": "clicks",
"targeting": {
"locations": {
"include": [
{ "id": "2000043" },
{ "id": "3000194" },
{ "id": "3000001" }
]
}
}
}'
| Identifiant de localisation | Signification | Type |
|---|---|---|
2000043 | California, United States | region |
3000194 | San Francisco - Oakland - San Jose, United States | dma |
3000001 | New York, United States | dma |
L'exemple illustre aussi l'usage d'un en-tête Idempotency-Key sur POST /campaigns, non mentionné par la page de référence Campaigns elle-même.
Statuts de campagne pendant la validation
Utiliser status: "paused" pendant la validation de la configuration, puis basculer vers "active" une fois la campagne, ses groupes d'annonces et ses annonces prêts à diffuser.
Éléments essentiels
- Trois types de localisation existent :
country,region,dma— seuldmaest illustré par un exemple concret de réponsegeo_lookup/searchdans cette source ;regionn'apparaît que dans le tableau de l'exemple de campagne,countryn'est illustré par aucun exemple. - Le champ
targeting.locations.includene nécessite que l'idde chaque localisation en entrée ; l'API enrichit automatiquement la réponse avec les métadonnées complètes.
Distinctions importantes
Ne pas confondre les identifiants de localisation de type region (ex. un État américain) et dma (zone de marché télévisuelle, plus fine géographiquement) : les deux sont acceptés dans targeting.locations.include, sans hiérarchie explicite documentée entre eux.
Cas pratiques
Aucun cas pratique disponible : identifiants et exemples (West Coast launch, San Francisco) manifestement fictifs et illustratifs, bien qu'utilisant des noms de lieux réels.
Erreurs fréquentes
Ne pas oublier qu'omettre targeting.locations à la création d'une campagne cible potentiellement toutes les localisations disponibles : ce comportement par défaut, large, peut ne pas correspondre à l'intention si le ciblage était censé être requis.
Ne pas confondre l'endpoint geo_lookup/search (recherche interactive) avec le catalogue CSV téléchargeable (openai-geotargets.csv, recherche hors ligne) : deux façons d'obtenir les mêmes identifiants, adaptées à des cas d'usage différents.
Limites et nuances
- Source unique, page de documentation développeur officielle récupérée par le web (dérogation ponctuelle autorisée), sans SHA-256 de fichier local.
- Schéma complet de l'objet
targeting(présence éventuelle d'un champexcludeen plus d'include, ou d'autres sous-objets quelocations) non documenté par cette page. - Structure complète du fichier CSV téléchargeable non examinée (le lien de téléchargement lui-même n'a pas été suivi par la source).
- Liste exhaustive des valeurs possibles pour
typede localisation (au-delà dedma, seul type illustré par un exemple de réponse concret) non confirmée.
Relations
- Campagnes et annonces dans l'API Ads — endpoint
POST /campaignsréutilisé ici, consommetargeting.locations.include. - Authentification, compte publicitaire et fichiers dans l'API Ads — authentification commune.
- Création de campagnes dans Ads Manager — ciblage géographique équivalent côté interface Ads Manager.
Points à vérifier
- Schéma complet de l'objet
targeting(champexcludeéventuel, autres sous-objets quelocations) — voir aussi Campagnes et annonces dans l'API Ads. - Structure complète du fichier
openai-geotargets.csv. - Liste exhaustive des valeurs possibles pour
typede localisation.
Sources
SRC-2026-039— « Campaign Targeting (API) »,developers.openai.com/ads/campaign-targeting, capturée le 2026-08-08.