Campañas de aplicaciones de Advantage+

Las campañas de aplicaciones de Advantage+ (anteriormente conocidas como “anuncios sobre aplicaciones automatizados”) utilizan aprendizaje automático y sistemas automatizados a fin de impulsar más resultados para tus anuncios sobre descargas de aplicaciones. Esta solución te ayuda a escalar campañas y, en última instancia, hace que tu trabajo sea más eficiente.

Anuncios sobre aplicaciones normales frente a campañas de aplicaciones de Advantage+:

Anuncios sobre aplicaciones manualesCampañas de aplicaciones de Advantage+
Una campaña
Varios conjuntos de anuncios
Varios anuncios
Una campaña
Un conjunto de anuncios
Varios anuncios

Dependen de ajustes manuales.

Dependen de ajustes de aprendizaje automático.

Prueba manualmente hasta 50 combinaciones de contenido.

Prueba manualmente hasta 50 combinaciones de contenido.

Ya están disponibles las campañas de aplicaciones de Advantage+ de SKAdNetwork que se dirigen a usuarios de iOS 14.

Antes de empezar

Para utilizar las campañas de aplicaciones de Advantage+, necesitas lo siguiente:

  • Una cuenta de desarrollador de Facebook.
  • Las siguientes permisos: ads_management y ads_read.

Debes tener autorización para realizar llamadas GET y POST a la cuenta publicitaria que usa para financiar tus anuncios.

Paso 1: crear una campaña

Envía una solicitud POST a /act_{ad_account_id}/campaigns con los siguientes parámetros obligatorios y opcionales:

ParámetroDescripción
adlabels
Lista de objetos

Etiquetas de anuncios asociadas a la campaña de campañas de aplicaciones de Advantage+. Opcional.

buying_type
Cadena

Actualmente, las campañas de aplicaciones de Advantage+ solo admiten buying_type AUCTION. Obligatorio.

execution_options
Lista de enumeraciones

Valor predeterminado: set. Las otras opciones son:

  • validate_only: cuando se especifica esta opción, la llamada a la API no llevará a cabo la mutación, sino que se ejecutará mediante las reglas de validación con los valores de cada campo.
  • include_recommendations: esta opción no se puede utilizar sola. Cuando se use esta opción, se incluirán recomendaciones para la configuración del objeto de anuncio. Se incluirá en la respuesta una sección independiente de recomendaciones, pero solo si hay recomendaciones para esta especificación.

Si la llamada supera la validación o la revisión, la respuesta será {"success": true}. Si la llamada no la supera, se devuelve un error con más detalles. Opcional.

is_skadnetwork_attribution
Cadena

Identifica una campaña de SKAdsNetwork. Opcional.

name
Cadena

Nombre de la campaña de aplicaciones de Advantage+.

objective
Enumeración

Objetivo de la campaña. Especifica APP_INSTALLS para este tipo de anuncios. Obligatorio.

promoted_object
Objeto

Objeto que promociona este conjunto de anuncios en todos sus anuncios. En el caso de las campañas de aplicaciones de Advantage+, proporciona application_id y object_store_url.


Si el objetivo de optimización no es APP_INSTALLS, proporciona lo siguiente:

Eventos estándarEventos personalizados

application_id, object_store_url y custom_event_type.

application_id, object_store_url, custom_event_str y especifica custom_event_type = OTHER.

Obligatorio si is_skadnetwork_attribution se establece en true.

smart_promotion_type
Lista de objetos

Para especificar que se trata de una campaña de aplicaciones de Advantage+, el tipo de promoción inteligente debe establecerse en SMART_APP_PROMOTION. Opcional.

special_ad_categories
Lista de objetos

Las campañas de aplicaciones de Advantage+ actualmente no admiten categorías de anuncios especiales. Especifica esto como una lista vacía, como []. Obligatorio.

status
Enumeración

Las opciones válidas son: PAUSED y ACTIVE.

Si este estado es PAUSED, todos sus conjuntos de anuncios y anuncios activos se pausarán y tendrán el estado efectivo CAMPAIGN_PAUSED. Obligatorio.

topline_id
Cadena numérica o entero

Identificador de la línea superior. Opcional.

Ejemplo de llamada de creación de campañas

curl -X POST \
  -F 'name=Advantage+ app campaigns sample campaign' \
  -F 'objective=APP_INSTALLS' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'smart_promotion_type=SMART_APP_PROMOTION' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/campaigns

Si ya tienes una campaña y quieres actualizarla, consulta Después del lanzamiento, Actualizar campaña.

Paso 2: verificar la creación de la campaña (opcional)

Como opción, puedes comprobar si has creado correctamente una campaña de aplicaciones de Advantage+. Para ello, realiza una solicitud GET a /{ad-campaign-id} con el campo smart_promotion_type. Una campaña de aplicaciones de Advantage+ válida devuelve SMART_APP_PROMOTION.

Ejemplo de llamada de verificación de campañas

curl -X GET -G \
  -d 'fields="smart_promotion_type"' \
  -d 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{ad-campaign-id}

Ejemplo de respuesta (si se creó una campaña de aplicaciones de Advantage+ válida):

{
  "smart_promotion_type": "SMART_APP_PROMOTION",
  "id": {ad-campaign-id}
}

Paso 3: crear un conjunto de anuncios

Una vez que tengas una campaña publicitaria, crea el conjunto de anuncios. Un conjunto de anuncios es un grupo de anuncios que comparten los mismos datos en lo que respecta al presupuesto diario o del conjunto de anuncios, la programación, el tipo y la información de puja y la segmentación.

Para crear un conjunto de anuncios, realiza una solicitud POST a /act_{ad_account_id}/adsets. Puedes incluir los siguientes parámetros:

ParámetroDescripción

adlabels

Lista de objetos

Especifica la lista de etiquetas que se asociarán a este objeto.

Opcional.

bid_amount

Entero

Obligatorio si bid_strategy se establece en LOWEST_COST_WITH_BID_CAP.

Límite de puja o coste objetivo de este conjunto de anuncios. El límite de puja que se usa en una estrategia de puja de menor coste se define como la puja máxima que quieres pagar por un resultado en función del valor de optimization_goal. El coste objetivo que se usa en una estrategia de puja de coste objetivo permite a Facebook pujar para, de media, cumplir tu objetivo y mantener los costes estables mientras gastas.


Si se especifica un nivel de anuncio bid_amount, al actualizar este valor se sobrescribirá la puja de nivel de anuncio anterior.


La unidad del importe de la puja son los céntimos o centavos para divisas como USD o EUR y la unidad básica para divisas como JPY o KRW. El importe de la puja es para cada aparición y tiene un valor mínimo de un centavo estadounidense. Los importes mínimos de la puja de otras monedas tienen un valor similar a los valores de dólares estadounidenses proporcionados.

bid_constraints

Lista de objetos

Obligatorio si bid_strategy se establece en lowest_cost_with_min_roas.

De forma similar al presupuesto de un conjunto de anuncios, la puja mínima de retorno del gasto publicitario (ROAS) utiliza este parámetro para proporcionar el límite de ROAS, pero no puedes usar bid_amount con bid_constraints.

bid_strategy

Enumeración

Elige una estrategia de puja para este conjunto de anuncios a fin de que se ajuste a tus objetivos de negocio específicos. Cada estrategia tiene inconvenientes y puede estar disponible para determinados valores de optimization_goals. Consulta Información general sobre las pujas, Estrategias de puja para obtener más información.


En el caso de las campañas de aplicaciones de Advantage+, están disponibles las siguientes estrategias:

  • LOWEST_COST_WITHOUT_CAP
  • LOWEST_COST_WITH_BID_CAP
  • LOWEST_COST_WITH_MIN_ROAS
Obligatorio.
billing_event
Enumeración

Evento de facturación que usa este conjunto de anuncios. En el caso de los anuncios sobre aplicaciones automatizados, especifica IMPRESSIONS. Obligatorio.

campaign_id
Cadena numérica o entero

Identificador de una campaña publicitaria de campañas de aplicaciones de Advantage+ válida a la que quieres añadir este conjunto de anuncios. Obligatorio.

campaign_attribution

Enumeración

Tipo de atribución de la campaña que utiliza este conjunto de anuncios.


  • Si quieres utilizar la medición de eventos agregados de Meta, establece este campo en AEM.
  • Si quieres utilizar la clase SKAdNetwork de Apple, este campo debe establecerse en SKADNETWORK.

Cuando una campaña tiene varios conjuntos de anuncios, el tipo de atribución de la campaña debe ser el mismo en todos los conjuntos de anuncios.

Este campo es obligatorio al crear una campaña para iOS 14 y versiones posteriores.

daily_budget

Entero de 64 bits

Presupuesto diario definido en la moneda de la cuenta que solo se permite en el caso de conjuntos de anuncios con una duración (diferencia entre end_time y start_time) superior a 24 horas.

daily_budget o lifetime_budget debe ser mayor que 0.

Opcional.

end_time

DateTime

Obligatorio cuando se especifica lifetime_budget.

Al crear un conjunto de anuncios con daily_budget, especifica end_time=0 para establecer el conjunto de anuncios como continuo sin fecha de finalización. La hora debe proporcionarse en una marca de tiempo UNIX UTC.


Por ejemplo: 2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT.

lifetime_budget

Entero de 64 bits

Presupuesto del conjunto de anuncios definido en la moneda de la cuenta. Si se especifica, también debes especificar un valor de end_time.

daily_budget o lifetime_budget debe ser mayor que 0.

Opcional.
name
Cadena

Nombre del conjunto de anuncios de campañas de aplicaciones de Advantage+. Obligatorio.

optimization_goal
Enumeración

Objetivo de optimización del conjunto de anuncios. Las campañas de aplicaciones de Advantage+ admiten los siguientes objetivos de optimización:

  • APP_INSTALLS: optimiza para llegar a los usuarios que más posibilidades tienen de descargar tu aplicación.
  • OFFSITE_CONVERSIONS: optimiza para llegar a los usuarios que más posibilidades tienen de hacer una conversión en tu sitio.
  • APP_INSTALLS_AND_OFFSITE_CONVERSIONS: optimiza para llegar a los usuarios que más posibilidades tienen de descargar tu aplicación y hacer una conversión en tu sitio.
  • VALUE: optimiza para conseguir el valor de compra total máximo dentro del periodo de atribución especificado.
Obligatorio.
promoted_object
Objeto

Objeto que promociona este conjunto de anuncios en todos sus anuncios. En el caso de las campañas de aplicaciones de Advantage+, proporciona application_id y object_store_url.


Si el objetivo de optimización no es APP_INSTALLS, proporciona lo siguiente:

Eventos estándarEventos personalizados

application_id, object_store_url y custom_event_type.

application_id, object_store_url, custom_event_str y especifica custom_event_type = OTHER.

Obligatorio para todas las campañas, excepto la campaña de SKAdNetwork . Opcional para la campaña de SKAdNetwork.

status

Enumeración

Solo ACTIVE y PAUSED son valores válidos para la creación. Los otros estados se pueden utilizar para las actualizaciones. Si un conjunto de anuncios se establece en PAUSED, todos sus anuncios activos se pondrán en pausa y tendrán el estado efectivo ADSET_PAUSED.

Obligatorio.

start_time

DateTime

Hora de inicio del conjunto. Por ejemplo: 2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT. Debe proporcionarse como una marca de tiempo UNIX UTC.

targeting

Objeto de segmentación

Estructura de segmentación del conjunto de anuncios de una campaña de aplicaciones de Advantage+. Las opciones de segmentación válidas son geo_locations y locales. Consulta Campos de segmentación.


Por ejemplo:

{
   "geo_location": {
     "countries": [“US”]
     },
   "locales": [8]
}

Aunque las campañas de aplicaciones de Advantage+ no admiten la segmentación del sistema operativo, las campañas de aplicaciones de Advantage+ de SKAdsNetwork solo se dirigirán a usuarios de iOS 14.5 y versiones posteriores.

Obligatorio.

time_start

DateTime

Hora de inicio de la ejecución de este conjunto de anuncios.

time_stop

DateTime

Hora de detención de la ejecución de este conjunto de anuncios.

Campos de segmentación

ParámetroDescripción

geo_locations

Matriz

Se usa para limitar la audiencia del conjunto de anuncios mediante el argumento obligatorio “countries”. Valor válido: countries. Matriz de códigos de dos dígitos en formato ISO 3166.

Obligatorio.

locales

Matriz

Dirígete a personas con un idioma distinto del común en una ubicación. Para utilizar este campo, proporciona un identificador para el idioma (por ejemplo, 5 para alemán). Consulta Búsqueda de segmentación, Configuraciones regionales para obtener más información.

Ejemplo de llamada de creación de conjuntos de anuncios

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad set' \
  -F 'campaign_id={campaign-id}' \
  -F 'optimization_goal=APP_INSTALLS' \
  -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{store-object-id} }' \
  -F 'daily_budget=<num>' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'targeting={"geo_locations": {"countries": ["US"]}}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/adsets

Si ya tienes un conjunto de anuncios y quieres actualizarlo, consulta Después del lanzamiento, Actualizar conjuntos de anuncios.

Compatibilidad de la optimización

En el nivel de conjunto de anuncios, debes especificar el objetivo de optimización, la estrategia de puja y el tipo de evento personalizado. En la siguiente tabla se muestran las combinaciones válidas de estos campos.

Objetivo de optimizaciónEstrategia de pujaTipo de evento personalizado

APP_INSTALLS

LOWEST_COST_WITHOUT_CAP y LOWEST_COST_WITH_BID_CAP

No es aplicable.

APP_INSTALLS_AND_OFFSITE_CONVERSIONS

LOWEST_COST_WITHOUT_CAP

PURCHASE

OFFSITE_CONVERSIONS

LOWEST_COST_WITHOUT_CAP y LOWEST_COST_WITH_BID_CAP

Todos los eventos de la aplicación estándar , tales como PURCHASE, ADD_TO_CART o INITIATED_CHECKOUT, entre otros.

VALUE

LOWEST_COST_WITHOUT_CAP y LOWEST_COST_WITH_MIN_ROAS

PURCHASE

Ejemplo de llamada de creación de conjuntos de SKAdNetwork

curl -X POST \
  -F 'name=Advantage+ app campaigns sample campaign' \
  -F 'objective=APP_INSTALLS' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'smart_promotion_type=SMART_APP_PROMOTION' \
  -F 'is_skadnetwork_attribution=true' \
  -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{object-store-url}" }' \ 
  -F 'access_token={access-token}' \
https://graph.facebook.com/act_{ad-account-id}/campaigns

Paso 4: proporcionar contenido y crear anuncios

Cuando tengas un conjunto de anuncios, puedes publicar en el extremo /act_{ad_account_id}/ads para crear el anuncio. Puedes incluir los siguientes parámetros:

ParámetroDescripción

adset_id

Entero de 64 bits

Obligatorio.
Identificador del conjunto de anuncios.

adlabels

Lista de objetos

Opcional.
Etiquetas de anuncios asociadas a este anuncio.

creative

AdCreative

Obligatorio.
Especificación de contenido del contenido del anuncio que utilizará este anuncio. Los campos válidos son object_story_spec, asset_feed_spec y use_page_actor_override. Consulta Campos de contenido para obtener más información.


Puedes proporcionar el contenido creativo en el siguiente formato:

{
  "creative_id":  {creative-id}
}

Proporciona una especificación de contenido:

{
  "creative": {
    \"name\": \"<NAME>\", 
    \"object_story_spec\": <SPEC>
  }
}

execution_options

Lista de enumeraciones

Opcional.
Valor predeterminado: set.
A continuación se indican otras opciones:

  • validate_only: cuando se especifica esta opción, la llamada a la API no lleva a cabo la mutación, sino que se ejecuta mediante las reglas de validación con los valores de cada campo.
  • synchronous_ad_review: esta opción no debe utilizarse sola. Siempre se debe especificar con validate_only. Cuando se especifican estas opciones, la llamada a la API lleva a cabo las validaciones de integridad de los anuncios, que incluyen la comprobación del idioma del mensaje o la regla que indica que el texto no debe ocupar más del 20 % de la imagen, entre otras cosas, así como las lógicas de validación.
  • include_recommendations: esta opción no se puede utilizar sola. Cuando se use esta opción, se incluirán recomendaciones para la configuración del objeto de anuncio. En la respuesta se incluirá una sección de recomendaciones independiente, pero solo si hay recomendaciones para esta especificación.

Si la llamada supera la validación o la revisión, la respuesta será {"success": true}. Si la llamada no supera la validación, se devolverá un error con más detalles.

name

Cadena

Obligatorio.
Nombre del anuncio.

status

AdCreative

Tipo: enumeración

Obligatorio.
Opciones válidas durante la creación: ACTIVE y PAUSED. Durante las pruebas, se recomienda establecer los anuncios en el estado PAUSED para evitar gastos accidentales.

Campos de contenido

ParámetroDescripción

asset_feed_spec

AdAssetFeedSpec

Obligatorio cuando se utiliza /adcreatives.

Se usa para la personalización de activos de ubicación y los anuncios en varios idiomas a fin de personalizar las piezas de contenido que se muestran en diferentes ubicaciones de anuncio o en diferentes idiomas. Se aplica un formato de cadena JSON.


Campos disponibles:

  • images
  • videos
  • carousels
  • bodies
  • call_to_action_types
  • titles
  • descriptions
  • link_urls
  • ad_formats
  • optimization_type
  • asset_customization_rules

Consulta Opciones de listas de piezas de contenido para obtener más información sobre cada campo.

object_story_spec

AdCreativeObjectStorySpec
Obligatorio.

Usa este parámetro si quieres adjuntar imágenes o videos a un anuncio o si quieres utilizar el formato de anuncio por secuencia. También puedes utilizarlo si quieres crear una nueva publicación de página oculta y convertir la publicación en un anuncio.


Campos disponibles:

  • page_id (Cadena numérica). Obligatorio. Identificador de una página de Facebook. Se creará una publicación de página oculta en esta página. Los usuarios deben tener el rol de administrador o editor en la página.
  • instagram_actor_id (Cadena numérica). Opcional. Cuenta de usuario de Instagram en la que se publicará la historia.
  • link_data: sigue las instrucciones que se describen en Anuncios sobre aplicaciones: crear para especificar las llamadas a la acción, la foto y la secuencia.
  • video_data: sigue las instrucciones que se describen en Anuncios sobre aplicaciones: crear con vídeo para especificar el video.

use_page_actor_override

AdCreative

Si se establece en true, se muestra la página de Facebook asociada a los anuncios sobre aplicaciones.

Ejemplo de llamada de creación de anuncios

Si proporcionas el contenido y el formato se ajusta a la especificación de contenido:

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Si quieres utilizar creative_id, primero debes proporcionar el contenido con una llamada a /adcreatives:

curl -X POST \
-F 'object_story_spec={object-story-specifications}' \
-F 'asset_feed_spec={asset-feed-specifications}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Si la operación se completa correctamente, la llamada anterior devuelve un valor de creative_id que puedes utilizar en la llamada a /ads:

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={creative-id}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Si ya tienes un anuncio y quieres actualizarlo, consulta Después del lanzamiento, Actualizar anuncios.

Ejemplo de imagen o vídeo estático

curl -X POST \
  -F 'name=Advantage+ app campaigns static image/video sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={
        "media_type": "SINGLE_IMAGE",
        "object_story_spec": {
          "instagram_actor_id": "{instagram-actor-id}",
          "page_id": "{page-id}",
          "link_data": {
            "call_to_action": {
              "type": "INSTALL_MOBILE_APP"
            },
            "image_hash": "{image-hash}",
            "link": "{link}",
            "message": "{message}",
            "name": "{name}"
          }
        }
      }' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Ejemplo de personalización de activos de ubicación

Cuando quieres personalizar las piezas de contenido que se muestran en diferentes ubicaciones de anuncio. Consulta la página Personalización de activos de ubicación para obtener más información.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "customization_spec": {
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed",
          "instream_video"
        ]
      },
      "image_label": {
        "name": "{image-label1}"
      }
    },
    {
      "customization_spec": {
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ]
      },
      "image_label": {
        "name": "{image-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "{text}"
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}"
    }
  ],
  "titles": [
    {
      "text": "{title}"
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Ejemplo de anuncios en varios idiomas

Cuando quieres personalizar distintas secciones del contenido del anuncio, tales como la imagen, el vídeo, el texto y el cuerpo, para llegar a personas que hablen distintos idiomas. Consulta la página Anuncios en varios idiomas para obtener más información.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "is_default": true,
      "customization_spec": {
        "locales": [
          24
        ]
      },
      "title_label": {
        "name": "{title-label-english}"
      },
      "body_label": {
        "name": "{body-label-english}"
      },
      "link_url_label": {
        "name": "{link-label-english}"
      },
      "image_label": {
        "name": "{image-label1}"
      }
    },
    {
      "customization_spec": {
        "locales": [
          9,
          44
        ]
      },
      "title_label": {
        "name": "{title-label-french}"
      },
      "body_label": {
        "name": "{body-label-french}"
      },
      "link_url_label": {
        "name": "{link-label-french}"
      },
      "image_label": {
        "name": "{image-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "Primary Text in English",
      "adlabels": [
        {
          "name": "{body-label-english}"
        }
      ]
    },
    {
      "text": "Primary Text in French",
      "adlabels": [
        {
          "name": "{body-label-french}"
        }
      ]
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}",
      "adlabels": [
        {
          "name": "{link-label-english}"
        }
      ]
    },
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}",
      "adlabels": [
        {
          "name": "{link-label-french}"
        }
      ]
    }
  ],
  "titles": [
    {
      "text": "English Title",
      "adlabels": [
        {
          "name": "{title-label-english}"
        }
      ]
    },
    {
      "text": "French Title",
      "adlabels": [
        {
          "name": "{title-label-french}"
        }
      ]
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Ejemplo de varios textos

Cuando quieres ofrecer más de un texto principal o título.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "asset_feed_spec": {
    "optimization_type": "DEGREES_OF_FREEDOM",
    "bodies": [
      {
        "text": "Primary Text 1"
      },
      {
        "text": "Primary Text 2"
      },
      {
        "text": "Primary Text 3"
      },
      {
        "text": "Primary Text 4"
      },
      {
        "text": "Primary Text 5"
      }
    ],
    "call_to_action_types": [
      "INSTALL_MOBILE_APP"
    ],
    "images": [
      {
        "hash": "{image-hash}"
      }
    ],
    "link_urls": [
      {
        "website_url": "{website-url}",
        "display_url": "{display-url}",
        "deeplink_url": "{deeplink-url}"
      }
    ],
    "titles": [
      {
        "text": "Title 1"
      },
      {
        "text": "Title 2"
      },
      {
        "text": "Title 3"
      },
      {
        "text": "Title 4"
      },
      {
        "text": "Title 5"
      }
    ]
  }
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Ejemplo personalización de activos de ubicación y varios textos

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "customization_spec": {
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed",
          "instream_video"
        ]
      },
      "image_label": {
        "name": "{image-label1}"
      },
      "body_label": {
        "name": "{body-label1}"
      },
      "title_label": {
        "name": "{title-label1}"
      }
    },
    {
      "customization_spec": {
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ]
      },
      "image_label": {
        "name": "{image-label2}"
      },
      "body_label": {
        "name": "{body-label2}"
      },
      "title_label": {
        "name": "{title-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "Primary Text 1",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 2",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 3",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 4",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 5",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}"
    }
  ],
  "titles": [
    {
      "text": "Title 1",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 2",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 3",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 4",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 5",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Después del lanzamiento

Después de lanzar las campañas de aplicaciones de Advantage+, es posible que debas actualizar o leer los objetos de anuncio; puedes consultar cómo llevar a cabo esas acciones a continuación. Para obtener información sobre los insights de anuncios, consulta nuestra documentación Especificación de listas de piezas de contenido, Insights.

Actualizar campañas

Si necesitas actualizar una campaña de anuncios sobre aplicaciones automáticos, realiza una solicitud POST a /{campaign_id}. Puedes utilizar los siguientes parámetros en la llamada a la API:

ParámetroDescripción

adlabels

Lista de objetos

Etiquetas de anuncios que deben asociarse a la campaña de aplicaciones de Advantage+.

execution_options

Lista de enumeraciones

Valor predeterminado: set. A continuación se indican otras opciones disponibles:

  • validate_only: cuando se especifica esta opción, la llamada a la API no llevará a cabo la mutación, sino que se ejecutará mediante las reglas de validación con los valores de cada campo.
  • include_recommendations: esta opción no se puede utilizar sola. Cuando se use esta opción, se incluirán recomendaciones para la configuración del objeto de anuncio. Se incluirá en la respuesta una sección independiente de recomendaciones, pero solo si hay recomendaciones para esta especificación.

Si la llamada supera la validación o la revisión, la respuesta es {"success": true}. Si la llamada no la supera, se devuelve un error con más detalles.

name

Cadena

Nuevo nombre que quieres dar a la campaña de aplicaciones de Advantage+.

status

Enumeración

Puedes utilizar el siguiente estado para una llamada a la API de actualización:

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

Si una campaña publicitaria se establece en PAUSED, sus objetos dependientes activos se pondrán en pausa y tendrán el estado efectivo CAMPAIGN_PAUSED.

topline_id

Cadena numérica o entero

Identificador de la línea superior.

Ejemplo de actualización de campañas

curl -X POST \
-F 'name=Advantage+ app campaigns Update Sample Campaign' \
-F 'status=PAUSED' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{campaign-id}

Actualizar conjuntos de anuncios

Si necesitas actualizar un conjunto de anuncios sobre aplicaciones automáticos, realiza una solicitud POST a /{ad_set_id}. Puedes utilizar los siguientes parámetros en la llamada a la API:

ParámetroDescripción

adlabels

Lista de objetos

Especifica la lista de etiquetas que se asociarán a este objeto. Opcional.

bid_amount

Entero

Obligatorio si bid_strategy se establece en LOWEST_COST_WITH_BID_CAP.

Límite de puja o coste objetivo de este conjunto de anuncios. El límite de puja que se usa en una estrategia de puja de menor coste se define como la puja máxima que quieres pagar por un resultado en función del valor de optimization_goal. El coste objetivo que se usa en una estrategia de puja de coste objetivo permite a Facebook pujar para, de media, cumplir tu objetivo y mantener los costes estables mientras gastas.


Si se especifica un nivel de anuncio bid_amount, al actualizar este valor se sobrescribirá la puja de nivel de anuncio anterior.


La unidad del importe de la puja son los céntimos o centavos para divisas como USD o EUR y la unidad básica para divisas como JPY o KRW. El importe de la puja es para cada aparición y tiene un valor mínimo de un centavo estadounidense. Los importes mínimos de la puja de otras monedas tienen un valor similar a los valores de dólares estadounidenses proporcionados.

bid_strategy

Enumeración

Elige una estrategia de puja para este conjunto de anuncios a fin de que se ajuste a tus objetivos de negocio específicos. Cada estrategia tiene inconvenientes y puede estar disponible para determinados valores de optimization_goals. Consulta Información general sobre las pujas, Estrategias de puja para obtener más información.

Para actualizar los conjuntos de una campaña de aplicaciones de Advantage+, están disponibles las siguientes estrategias:

  • LOWEST_COST_WITHOUT_CAP
  • LOWEST_COST_WITH_BID_CAP

Si habilitas la optimización del presupuesto de campaña, establece bid_strategy en el nivel de campaña principal.

daily_budget

Entero de 64 bits

Presupuesto diario definido en la moneda de la cuenta que solo se permite en el caso de conjuntos de anuncios con una duración (diferencia entre end_time y start_time) superior a 24 horas. daily_budget o lifetime_budget debe ser mayor que 0.

end_time

DateTime

Hora de finalización (obligatoria cuando se especifica lifetime_budget). Debe proporcionarse en una marca de tiempo UNIX UTC. Por ejemplo: 2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT.


Al crear un conjunto de anuncios con un presupuesto diario, especifica end_time=0 para establecer el conjunto de anuncios como continuo sin fecha de finalización.

execution_options

Lista de enumeraciones

Opcional.

Valor predeterminado: set. Las otras opciones son:

  • validate_only: cuando se especifica esta opción, la llamada a la API no llevará a cabo la mutación, sino que se ejecutará mediante las reglas de validación con los valores de cada campo.
  • include_recommendations: esta opción no se puede utilizar sola. Cuando se use esta opción, se incluirán recomendaciones para la configuración del objeto de anuncio. Se incluirá en la respuesta una sección independiente de recomendaciones, pero solo si hay recomendaciones para esta especificación.

Si la llamada supera la validación o la revisión, la respuesta es {"success": true}. Si la llamada no la supera, se devuelve un error con más detalles.

lifetime_budget

Entero de 64 bits

Presupuesto del conjunto de anuncios definido en la moneda de la cuenta. Si se especifica, también debes especificar un valor de end_time. daily_budget o lifetime_budget debe ser mayor que 0.

promoted_object

Objeto

Obligatorio con determinados objetivos de la campaña.

Objeto que promociona este conjunto de anuncios en todos sus anuncios.


Si el objetivo de optimización no es APP_INSTALLS, entre las opciones disponibles se incluyen las siguientes:

  • custom_event_type
  • custom_event_str (si custom_event_type = OTHER)

start_time

DateTime

Hora de inicio del conjunto. Debe proporcionarse en una marca de tiempo UNIX UTC. Por ejemplo: 2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT.

status

Enumeración

Opciones de actualizaciones disponibles:

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

time_start

DateTime

Hora de inicio de la ejecución de este conjunto de anuncios.

time_stop

DateTime

Hora de detención de la ejecución de este conjunto de anuncios.

Ejemplo de actualización de conjuntos de anuncios

curl -X POST \
  -F 'name=Advantage+ app campaigns sample updated ad set' \
  -F 'bid_strategy=LOWEST_COST_WITH_BID_CAP' \
  -F 'bid_amount=200' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{ad-set-id}

Actualizar anuncios

Si necesitas actualizar un anuncio sobre aplicaciones automático, realiza una solicitud POST a /{ad_id}. Puedes utilizar los siguientes parámetros en la llamada a la API:

ParámetroDescripción

name

Cadena

Nombre del anuncio.

adlabels

Lista de objetos

Etiquetas de anuncios asociadas a este anuncio.

execution_options

Lista de enumeraciones

Opcional.

Valor predeterminado: set. Las otras opciones son:

  • validate_only: cuando se especifica esta opción, la llamada a la API no lleva a cabo la mutación, sino que se ejecuta mediante las reglas de validación con los valores de cada campo.
  • synchronous_ad_review: esta opción no debe utilizarse sola. Siempre se debe especificar con validate_only. Cuando se especifican estas opciones, la llamada a la API lleva a cabo las validaciones de integridad de los anuncios, que incluyen la comprobación del idioma del mensaje o la regla que indica que el texto no debe ocupar más del 20 % de la imagen, entre otras cosas, así como las lógicas de validación.
  • include_recommendations: esta opción no se puede utilizar sola. Cuando se utiliza esta opción, se incluyen recomendaciones para la configuración de un objeto. En la respuesta se incluye una sección independiente de recomendaciones, pero solo si hay recomendaciones para esta especificación.

Si la llamada supera la validación o la revisión, la respuesta es {"success": true}. Si la llamada no la supera, se devuelve un error con más detalles.

status

Enumeración

Las opciones son las siguientes:

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

Durante las pruebas, se recomienda establecer los anuncios en el estado PAUSED para evitar gastos accidentales.

creative

AdCreative

La especificación de contenido del anuncio que se utilizará en este anuncio. Los campos válidos se pueden encontrar en “Campos de contenido”. Proporciona la especificación de contenido de la siguiente forma:

{
  "creative": {
    \"name\": \"<NAME>\", 
    \"object_story_spec\": <SPEC>
   }
}

Ejemplo de actualización de anuncios

curl -X POST \
-F 'name=Advantage+ app campaigns sample update ad' \
-F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/{ad-id}