Entrega anuncios en ubicaciones específicas, como en la sección de noticias del ordenador solamente o en la sección de noticias del móvil y en un vídeo con premio de Audience Network. Solo puedes usar determinadas opciones de ubicación en función del objetivo de la campaña. Consulta Campaña, Objetivo y ubicaciones para obtener más información.
Las plataformas y posiciones disponibles son device_platforms
, publisher_platforms
, facebook_positions
, audience_network_positions
, instagram_positions
y messenger_positions
. Consulta la sección Dispositivo, editor y posiciones para obtener más información.
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="REACH"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed"
]
}' \
-F 'promoted_object={
"page_id": "<PAGE_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Si no especificas ningún valor para un campo de ubicación determinado, Facebook considera todas las posiciones predeterminadas posibles de ese campo. Por ejemplo, si estableces publisher_platforms
en facebook
, pero no seleccionas ningún valor para facebook_positions
, Facebook considera todas las posiciones predeterminadas de la plataforma, como feed
, right_hand_column
, etc. Si no seleccionas ningún valor para publisher_platforms
, Facebook considera todos los valores predeterminados de publisher_platforms
. Es posible que Facebook también considere automáticamente las plataformas y posiciones nuevas a medida que estén disponibles.
En Audience Network, puedes limitar los editores que muestran tus anuncios. Puedes excluir editores por categoría o crear una lista personalizada de URL de dominios o tiendas de aplicaciones que excluir.
No puedes utilizar solo right_hand_column
de forma independiente como ubicación de los anuncios de lienzo, colección o vídeo.
El filtro de inventario te ayuda a controlar si los anuncios se muestran junto a distintos tipos de contenido en el caso de los anuncios dentro del contenido (vídeos in-stream de Facebook, anuncios en Facebook Reels y anuncios en Instagram Reels), anuncios en Audience Network y anuncios en el feed (feed de Facebook, feed de Instagram, feed de Facebook Reels y feed de Instagram Reels). Para obtener más información sobre estas categorías de contenido, consulta Servicio de ayuda para publicidad, Filtro de inventario. Puedes elegir valores distintos para los anuncios dentro del contenido, los anuncios de Audience Network y los anuncios en el feed. Las opciones son las siguientes: Expanded
, Moderate
y Limited
. Para obtener más información, consulta brand_safety_content_filter_levels
a continuación:
Nombre | Descripción |
---|---|
Matriz<string> | Para los anuncios dentro del contenido (anuncios in-stream de Facebook y anuncios en Facebook Reels), se permiten los valores siguientes:
Para Audience Network, se permiten los valores siguientes:
Para los anuncios en el feed (feed de Facebook, feed de Instagram, feed de Facebook Reels y feed de Instagram Reels), se permiten los valores siguientes:
Ejemplo: Nota: Cuando se aplica un filtro en el nivel de la cuenta publicitaria, solo habrá disponibles opciones más restrictivas en el nivel de la campaña. Por ejemplo, si la cuenta se establece en |
Matriz<string> | Incluye |
Matriz<numeric strings> | Cada cadena es un identificador de las listas de exclusiones. Crea listas personalizadas en el administrador de anuncios o consulta API de marketing, Lista de bloqueo de editores. Ejemplo: |
Por ejemplo, para usar brand_safety_content_filter_levels
:
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting= { "geo_locations":{"countries":["US"]}, "brand_safety_content_filter_levels":["FACEBOOK_STRICT","AN_STANDARD"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/VERSION/AD_ACCOUNT_ID/adsets
En el caso de Audience Network, y los vídeos in-stream, también puedes excluir editores por categoría:
Nombre | Descripción |
---|---|
Matriz<string> | Incluye:
Ejemplo: |
Nombre: opciones | Descripción |
---|---|
| Opcional. |
| Opcional. |
| Opcional. Notas:
|
| Opcional. |
| Opcional. |
| Opcional. Notas:
|
OR
.publisher_platforms=['facebook','instagram']
quiere decir que los anuncios se entregan en Facebook e Instagram. AND
.publisher_platforms=['facebook']&device_platforms=['mobile']
quiere decir que dichos anuncios se entregan solo en Facebook Móvil. publisher_platforms=['instagram']& device_platforms=['desktop']
, aparecerá un error.publisher_platforms: audience_network
. audience_network
con el objetivo VIDEO_VIEWS
se debe usar con el objetivo de optimización THRUPLAYS
.story
para facebook_positions
. Si se selecciona story
para facebook_positions
, también se debe seleccionar el objeto feed
de Facebook o story
de Instagram.story
para messenger_positions
. Si se selecciona story
para messenger_positions
, también se debe seleccionar el objeto feed
de Facebook o story
de Instagram.stream
. Además, se comprueba si cumplen los requisitos web para mostrarlos en los feeds web tanto del ordenador como de dispositivos móviles. Los objetivos compatibles son BRAND_AWARENESS
, REACH
, LINK_CLICKS
, POST_ENGAGEMENT
, VIDEO_VIEWS
y CONVERSIONS
.Para usar Facebook Stories como ubicación:
curl \ -F 'name=My Ad Set' -F 'optimization_goal=CONVERSIONS' -F 'billing_event=IMPRESSIONS' -F 'bid_amount=2' -F 'daily_budget=1000' -F 'campaign_id=<AD_CAMPAIGN_ID>' -F 'targeting={"geo_locations":{"countries":["US"]}, "publisher_platforms":["messenger", "facebook"], "facebook_positions":["story"], "messenger_positions":["story"]}' -F 'status=ACTIVE' -F 'access_token=<ACCESS_TOKEN>' https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Para crear un conjunto de anuncios solo con la ubicación instream_video
que se dirija a uno de los países admitidos señalados anteriormente:
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting={"geo_locations":{"countries":["US"]},"publisher_platforms":["facebook"], "facebook_positions":["instream_video"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Para dirigirse a la ubicación de un vídeo con premio de Audience Network:
curl \ -F 'name=My Ad Set' \ -F 'optimization_goal=OFFSITE_CONVERSIONS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=40000' \ -F 'campaign_id=<AD_CAMPAIGN_ID>' \ -F 'targeting={"app_install_state": "not_installed","geo_locations":{"countries":["US"]},"facebook_positions":["feed"],"device_platforms": ["mobile"],"audience_network_positions": ["classic","rewarded_video"],"user_device": ["Android_Smartphone","Android_Tablet"],"user_os": ["Android_ver_4.4_and_above"]}' \ -F 'promoted_object={"application_id": "<APPLICATION_ID>","custom_event_type": "PURCHASE","object_store_url": "<OBJECT_STORE_URL>"}' \ -F 'status=ACTIVE' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<APIVERSION>/<AD_ACCOUNT_ID>/adsets
Se devuelve lo siguiente:
{ "targeting": { "audience_network_positions": [ "classic", "rewarded_video" ], "effective_audience_network_positions": [ "classic", "rewarded_video" ] }, "id": "<AD_SET_ID>" }
Para usar Facebook Reels como ubicación:
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting={"geo_locations":{"countries":["US"]},"publisher_platforms":["facebook"], "facebook_positions":["facebook_reels"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Para crear un conjunto de anuncios con la ubicación explore_home
que se dirija a uno de los países admitidos (p. ej., “EE. UU.”):
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream",
"explore",
"explore_home"
],
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Para crear un conjunto de anuncios con la ubicación ig_search
que se dirija a uno de los países admitidos (p. ej., “EE. UU.”):
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream",
"ig_search"
],
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Aunque creas los conjuntos de anuncios con ubicaciones en las especificaciones de segmentación, no siempre sabes si Facebook entregó el anuncio en las ubicaciones indicadas. Esto se debe a que las ubicaciones seleccionadas puede que no se apliquen al objetivo publicitario elegido. Con la API de ubicaciones efectivas para la segmentación, puedes determinar las ubicaciones en las que se entregará el anuncio, según las opciones de segmentación, y recibir mensajes de validación para comprender por qué se excluyen algunas ubicaciones. Si no proporcionas una segmentación, puedes determinar la ubicación efectiva en función de la configuración del conjunto de anuncios y de la campaña publicitaria.
Para leer una ubicación efectiva en función de la segmentación, incluye effective_
antes del nombre del campo de ubicación. Por ejemplo:
curl -G \ -d "fields=targeting{effective_publisher_platforms,effective_facebook_positions,effective_device_platforms,effective_audience_network_positions,effective_instagram_positions}" \ -d "access_token=<access_token>" \ https://graph.facebook.com/<VERSION>/<AD_SET_ID>
Para consultar por qué se excluyen algunas ubicaciones, utiliza el campo recommendation
:
curl -G \ -d "fields=recommendations" \ -d "access_token=<access_token>" \ https://graph.facebook.com/<VERSION>/23842573364570019
Las ubicaciones efectivas permiten determinar en qué ubicaciones se entregará el anuncio en función de los campos billing_event
, optimization_goal
y promoted_object
del conjunto de anuncios, así como los campos buying_type
y objective
de la campaña publicitaria. Todos los parámetros para /ad_campaign_placement
incluyen:
account_id
del anuncio e identificador de accesobilling_event
; por ejemplo, IMPRESSIONS
AUCTION
POST_ENGAGEMENT
POST_ENGAGEMENT
PIXEL_ID
Todos los parámetros, excepto promoted_object
y optimization_goal
, son obligatorios. Si proporcionas segmentación, puedes utilizar la API de marketing para determinar una ubicación efectiva a partir de las permitidas para tu configuración. Consulta la documentación Ubicación efectiva con segmentación. Por ejemplo:
curl -G \ -d 'account_id=<ACCOUNT_ID>' \ -d 'billing_event=IMPRESSIONS' \ -d 'buying_type=AUCTION' \ -d 'objective=PAGE_LIKES' \ -d 'optimization_goal=IMPRESSIONS' \ https://graph.facebook.com/<VERSION>/ad_campaign_placement?access_token=<TOKEN>
La llamada devuelve lo siguiente:
{ "effective_device_platforms": [ "mobile", "desktop" ], "effective_facebook_positions": [ "feed", "right_hand_column" ], "effective_publisher_platforms": [ "facebook" ], "recommendations": [ { "title": "Placement Not Supported By Objective", "message": "Ads with PAGE_LIKES objective do not support facebook.instream_video, facebook.suggested_video, facebook.marketplace, audience_network.classic, audience_network.instream_video, audience_network.rewarded_video, instagram.stream, instagram.story, messenger.messenger_home.", "code": 1815609, "importance": "LOW", "confidence": "HIGH", "blame_field": "targeting" }, { "title": "Device Platform Not Supported By Objective", "message": "Ads with PAGE_LIKES objective do not support connected_tv.", "code": 1815610, "importance": "LOW", "confidence": "HIGH", "blame_field": "targeting" } ], } }
Puedes utilizar el campo code
de este resultado en una llamada a /ad-recommendation
para ver un motivo detallado. Por ejemplo, puedes obtener esta información:
[{“code”: 1815610, “summary”: “Device Platform Not Supported By Objective”},]
Para obtener más información, consulta la referencia sobre recomendaciones de anuncios y Ubicación efectiva con segmentación.