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, threads_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/v24.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/adsetsEn 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. Notas:
|
| Opcional. Notas:
|
| Opcional. |
| 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.notification para facebook_positions. Si se selecciona notification para facebook_positions, también se debe seleccionar el objeto feed de Facebook.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.threads_stream para threads_positions. Si se selecciona threads_stream para threads_positions, también se debe seleccionar el objeto stream de Instagram.Si usas los controles de ubicación para excluir determinadas ubicaciones en tus conjuntos de anuncios, puedes permitir que se asigne hasta un 5 % de tu gasto a cada ubicación excluida cuando sea probable que mejore el rendimiento.
Para desactivar una ubicación con gasto limitado, pasa las posiciones de ubicación que quieras con el campo placement_soft_opt_out al crear o actualizar un conjunto de anuncios.
Las posiciones disponibles son facebook_positions, audience_network_positions, instagram_positions, threads_positions y messenger_positions.
"placement_soft_opt_out": { "facebook_positions": [ "marketplace", "profile_feed" ], "audience_network_positions": [ "classic", "rewarded_video" ] }
Para ver qué ubicaciones tienen un gasto limitado establecido, consulta el campo placement_soft_opt_out de los conjuntos de anuncios.
curl -G \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/v24.0<AD_SET_ID>?fields=placement_soft_opt_out"
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/adsetsPara 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/adsetsPara 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>/adsetsSe 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/adsetsPara 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/v24.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/v24.0/act_<AD_ACCOUNT_ID>/adsets
curl \ -F 'name=Threads Adset' \ -F 'optimization_goal=LINK_CLICKS' \ -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": ["instagram", "threads"], "instagram_positions": ["stream"], "threads_positions": ["threads_stream"], "user_os": ["iOS"] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v24.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, IMPRESSIONSAUCTIONPOST_ENGAGEMENTPOST_ENGAGEMENTPIXEL_IDTodos 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",
"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.