Anuncios de tiendas

Los anuncios de tiendas son una solución que mejora el rendimiento de los anuncios al enviar clientes potenciales a tu sitio web o tienda, en función de dónde consideramos que es más probable que realicen una compra.

Antes de empezar

Para crear un anuncio de venta o conversión del catálogo de productos usando la ubicación de conversión del sitio web y la tienda, necesitarás lo siguiente:

  • Una tienda que use el proceso de finalización de compra con Facebook e Instagram.
  • Una página de Facebook o una cuenta de Instagram conectada a la tienda.
  • Un catálogo conectado a la tienda. Consulta la documentación de los campos del catálogo para ver los campos obligatorios con fines comerciales o para los anuncios.

Paso 1: Crear una campaña

Para empezar, crea una campaña publicitaria con una solicitud POST a /act_{ad_account_id}/campaigns.

En este momento, tienes que establecer tu objetivo publicitario mediante el campo de objetivo. Para los anuncios de tiendas, los objetivos admitidos son PRODUCT_CATALOG_SALES y CONVERSIONS si no pertenecen a las experiencias de anuncios orientados a los resultados (ODAX) y OUTCOME_SALES si pertenecen a ODAX.

  • En el caso del objetivo PRODUCT_CATALOG_SALES, el parámetro promoted_object es el identificador del catálogo de productos. Ten en cuenta que el catálogo de productos debe estar conectado a una tienda en el sitio para ser apto para los anuncios de tiendas.
  • En el caso del objetivo CONVERSIONS, el campo promoted_object no es obligatorio.

Ejemplos de objetivos que no pertenecen a ODAX

Ejemplo de creación de una campaña con el objetivo PRODUCT_CATALOG_SALES

curl \
  -F 'name=Product Catalog Sales Campaign' \
  -F 'objective=PRODUCT_CATALOG_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Ejemplo de creación de una campaña con el objetivo CONVERSIONS

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=CONVERSIONS' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Ejemplos de objetivos de ODAX

Ejemplo de creación de una campaña de PRODUCT_CATALOG_SALES con el objetivo OUTCOME_SALES

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=OUTCOME_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \ 
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Ejemplo de creación de una campaña de CONVERSIONS con el objetivo OUTCOME_SALES

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=OUTCOME_SALES' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]'
  -F 'access_token=<ACCESS_TOKEN>' \ 
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Paso 2: Crear un conjunto de anuncios

Para los anuncios de tiendas, debes especificar SHOP_AUTOMATIC como tipo de destino para el conjunto de anuncios.

  • Si el objetivo de la campaña se establece en PRODUCT_CATALOG_SALES, en promoted_object tienes que proporcionar un identificador del conjunto de productos para promocionar productos de ese conjunto de productos.
  • Si el objetivo de la campaña se establece en CONVERSIONS, define el parámetro promoted_object en una cuenta de comercio con el proceso de finalización de compra en el sitio activado.

Otros requisitos de los anuncios de tiendas:

  • Los anuncios de tiendas solo admiten PURCHASE como evento de conversión (CUSTOM_EVENT_TYPE) en el conjunto de productos (si el objetivo es PRODUCT_CATALOG_SALES) o en el píxel de Meta (si el objetivo es CONVERSIONS).
  • Los anuncios de tiendas solo admiten la optimización de las conversiones fuera del sitio (OFFSITE_CONVERSIONS como optimization_goal).
  • Los anuncios de tiendas solo admiten estrategias de puja sin límite de coste.
  • Para que los anuncios de tiendas se entreguen a la tienda, la segmentación debe incluir a las audiencias de las regiones compatibles con el proceso de finalización de compra en el sitio (actualmente, Estados Unidos).
  • Para que los anuncios de tiendas se entreguen a la tienda, la ubicación debe incluir, como mínimo, una plataforma compatible con el proceso de finalización de compra en el sitio (actualmente, Facebook e Instagram).

Ejemplo de creación de un conjunto de anuncios de tiendas con una campaña con el objetivo PRODUCT_CATALOG_SALES que se factura en IMPRESSIONS.

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]} }' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type": "PURCHASE"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets 

Ejemplo de creación de un conjunto de anuncios de tiendas con una campaña con el objetivo CONVERSIONS que se factura en IMPRESSIONS.

curl \
  -F 'name=Conversion Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]}}' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],
  "pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<D_ACCOUNT_ID>/adsets

Paso 3: Proporcionar el contenido

Con los conjuntos de anuncios de tiendas, puedes crear lo siguiente:

Los anuncios de tiendas no admiten lo siguiente:

  • Los formatos de anuncios con imagen o vídeo cuando el objetivo de la campaña es PRODUCT_CATALOG_SALES.
  • Las llamadas a la acción configuradas para enviar mensajes a una página, Instagram o WhatsApp.
  • Los destinos configurados en una aplicación, evento o experiencias instantáneas si el objetivo es CONVERSIONS.

Anuncios por secuencia o anuncios con imagen o vídeo

Puedes crear un anuncio por secuencia de la misma manera que creas anuncios que no son de tiendas. Si el objetivo de la campaña es CONVERSIONS, también puedes crear un anuncio con imagen o vídeo.

Los valores de page_id o instagram_actor_id especificados en object_story_spec deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.

Además, para los anuncios de tiendas, debes especificar un destino en el sitio como destino alternativo de tu página de destino fuera del sitio. Para ello, establece el campo onsite_destination en la asset_feed_spec del contenido.

El destino en el sitio debe ser una de las siguientes opciones:

  • Página del escaparate de la tienda
    La tienda debe pertenecer a la cuenta de comercio que promocionas en el conjunto de anuncios.

  • Un conjunto de productos
    El conjunto de productos debe pertenecer al catálogo de la cuenta de comercio que promocionas en el conjunto de anuncios y debe contener al menos un producto disponible visible.

  • Un producto
    El producto debe pertenecer al catálogo de la cuenta de comercio que promocionas en el conjunto de anuncios.

Ejemplo del campo onsite_destinations en la asset_feed_spec establecido en la página del escaparate de la tienda

asset_feed_spec= {
  "onsite_destinations": [
    {
      "storefront_shop_id": "<SHOP_STOREFRONT_ID>"
    }
  ]
}

Ejemplo del campo onsite_destinations en la asset_feed_spec establecido en el conjunto de productos

asset_feed_spec= {
  "onsite_destinations": [
    {
      "shop_collection_product_set_id": "<PRODUCT_SET_ID>"
    }
  ]
}

Ejemplo del campo onsite_destinations en la asset_feed_spec establecido en un producto específico

asset_feed_spec= {
  "onsite_destinations": [
    {
      "details_page_product_id": "<PRODUCT_ID>"
    }
  ]
}

Ejemplo de contenido de un anuncio con imagen

curl \
  -F 'name=Sample Creative' \
  -F 'asset_feed_spec= {
        "onsite_destinations": [
          {
            "storefront_shop_id": "<SHOP_STOREFRONT_ID>"
          }
        ]
      }' \
  -F 'object_story_spec={ 
    "link_data": { 
      "image_hash": "<IMAGE_HASH>", 
      "link": "<OFFSITE_LANDING_URL>", 
      "message": "try it out" 
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id" : "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_OUT"
        }
      }
    }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Anuncios de catálogo de Advantage+ con formato por secuencia

Para crear un anuncio por secuencia que promocione productos de un conjunto de productos, sigue las instrucciones en el Paso 3: Proporcionar el contenido del anuncio de Introducción a los anuncios de catálogo de Advantage+.

Los valores de page_id o instagram_actor_id especificados en object_story_spec deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.

En relación con el conjunto de productos del contenido:

  • Si vas a configurar una campaña con PRODUCT_CATALOG_SALES como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que hayas establecido en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elijas promocionar en el conjunto de anuncios.
  • Si vas a configurar una campaña con CONVERSIONS como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elijas promocionar en el conjunto de anuncios.

Las funciones adicionales compatibles con los anuncios de tiendas son las optimizaciones para tiendas. Si pensamos que podría mejorar el rendimiento de tus anuncios, de forma automática añadiremos diferentes optimizaciones a tus anuncios. Para aceptar esta opción, establece el valor de shops_bundle en true en asset_feed_spec del contenido (aquí se incluyen tanto las etiquetas de productos automatizadas como los motivos para comprar en este momento y, potencialmente, otras optimizaciones en el futuro).

Las optimizaciones de tiendas que se admiten actualmente son las siguientes:

  • Etiquetas de producto automatizadas: podemos etiquetar productos de tu anuncio automáticamente. Las etiquetas de producto envían a las personas directamente a la página del producto pertinente de tu tienda.
  • Motivos para comprar: podemos resaltar automáticamente la información del producto de tu tienda, como “envío gratuito”, “tendencia” o “poca disponibilidad”. También podemos añadir una oferta existente, lo que permite que los clientes ahorren en artículos seleccionados de tu tienda.

Para aceptar las etiquetas de producto automatizadas, establece el valor de automated_product_tags en true en el campo template_data de object_story_spec. Para aceptar los motivos para comprar, establece el valor de reasons_to_shop en true en el asset_feed_spec del contenido.

Ejemplos de anuncios por secuencia que promocionan un conjunto de productos con optimizaciones de tiendas totalmente automatizadas


Aceptar el uso de shops_bundle

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
        "shops_bundle": true
      }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives


Aceptar el uso de automated_product_tags

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'object_story_spec={ 
    "template_data": {
      "automated_product_tags": true
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>"
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives 

Aceptar el uso de reasons_to_shop

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
        "reasons_to_shop": true
      }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Nota:

  • Los anuncios de tiendas no admiten las categorías de los anuncios de catálogo de Advantage+.
  • La optimización de las etiquetas de producto automatizadas solo se admite en Instagram.

Contenido de Advantage+ para catálogo

Los anuncios de tiendas también admiten el contenido de Advantage+ para catálogo. Esta función muestra diferentes formatos y contenidos del anuncio a distintas cuentas del Centro de cuentas en función del contenido al que estas tienen más probabilidad de responder.

Puedes seguir las instrucciones del Paso 3: Proporcionar el contenido del anuncio en Contenido de Advantage+ para catálogo para configurar el contenido.

Los valores de page_id o instagram_actor_id especificados en object_story_spec deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.

En relación con el conjunto de productos del contenido:

  • Si vas a configurar una campaña con PRODUCT_CATALOG_SALES como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que hayas establecido en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elijas promocionar en el conjunto de anuncios.
  • Si configuras una campaña con CONVERSIONS como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elijas promocionar en el conjunto de anuncios.

Ejemplo de contenido de Advantage+ para catálogo

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
    "optimization_type":"FORMAT_AUTOMATION",
    "ad_formats": ["CAROUSEL", "COLLECTION"],
    "images": [{"hash": "<CUSTOMIZED_IMAGE_HASH>"}],
    "descriptions": [{"text": "{{product.description}}", "From {{product.current_price}}", ...]
    } 
   }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    “instagram_actor_id” : “<INSTAGRAM_ACTOR_ID>” 
  }' \
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_OUT"
        }
      }
    }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Paso 4: Crear un anuncio

Finalmente, puedes crear un anuncio haciendo referencia al contenido del anuncio.

curl \
-F 'status=PAUSED' \
-F 'name=Test' \
-F 'adset_id=<ADSET_ID>' \
-F 'creative= {
       "creative_id": "<CREATIVE_ID>"
    },
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads 

Anuncios de tiendas con campañas de compras de Advantage+

Los anuncios de tiendas se admiten junto con las campañas de compras de Advantage+, que se cree que impulsan un mayor rendimiento si se combinan.

Para crear una campaña de compras de Advantage+ con anuncios de tiendas, primero sigue las instrucciones del Paso 2: Crear una campaña en Campañas de compras de Advantage+ para crear una campaña.

Al crear un conjunto de anuncios para campañas de compras de Advantage+ con anuncios de tiendas, de forma similar a lo que sucede cuando solo se usan los anuncios de tiendas, establece el valor de destination_type en SHOP_AUTOMATIC y especifica tu cuenta de comercio en promoted_object.

curl \
  -F 'name=Advantage+ Shopping Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]}}' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],"pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets

Consulta Optimización de conversiones multicanal para campañas de compras de Advantage+ para obtener más información.

Al crear contenido y un anuncio para campañas de compras de Advantage+ con anuncios de tiendas, la especificación es la misma que para los anuncios de tiendas solos. Consulta la sección Paso 3: Proporcionar el contenido anterior para obtener más detalles.

Requisitos comerciales de los anuncios de tiendas

Para obtener los identificadores pertinentes para los anuncios de tiendas, necesitas el permiso catalog_management del cliente.

Para crear anuncios de tiendas para una página, esta debe contar con una tienda visible en el sitio. Puedes hacerlo de la siguiente manera:

curl -i -X GET \
"https://graph.facebook.com/v21.0/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{status,fb_page{id,name}},is_onsite_enabled,shop_status}&access_token=<PAGE_ACCESS_TOKEN>"

Ejemplo de respuesta

{
  "id":"<commerce_account_id>",
  "shops": {
    "data": [
      {
        "fb_sales_channel": {
          "status": "STAGING",
          "fb_page": {
            "name": "Page 1",
            "id": "<page_id>"
          }
        },
        "id": "<shop_id_1>",
        "is_onsite_enabled": true,
        "shop_status": "INACTIVE"
      },
      {
        "fb_sales_channel": {
          "status": "ENABLED",
          "fb_page": {
            "name": "Page 2",
            "id": "<page_id>"
          }
        },
        "id": "<shop_id_2>",
        "is_onsite_enabled": true,
        "shop_status": "ACTIVE"
      }
    ],    
    // …
}

En relación con la página con la que quieres crear anuncios de tiendas, comprueba si el valor de is_onsite_enabled está establecido en true y shop_status, en ACTIVE. Si es así, podrás crear anuncios de tiendas para la página siguiendo las instrucciones que se describen en el resto de esta guía.

Obtener identificadores de comercio para crear anuncios de tiendas

Para crear un anuncio de tiendas para una página, necesitas lo siguiente:

Puedes obtener el identificador de la cuenta de comercio y el identificador de la tienda si realizas la consulta anterior.

curl -i -X GET \
"https://graph.facebook.com/v21.0/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{fb_page{id,name}}}&access_token=<PAGE_ACCESS_TOKEN>"

Una cuenta de comercio puede tener varias tiendas. Debes obtener la que tiene la página con la que quieres crear los anuncios de tiendas.

En relación con el identificador del catálogo, el identificador del conjunto de productos y el identificador del producto:

curl -i -X GET \
"https://graph.facebook.com/v21.0/<PAGE_ID>/commerce_merchant_settings?fields=id,product_catalogs{id,product_sets}&access_token=<PAGE_ACCESS_TOKEN>"

Ejemplo de respuesta

{
  "id": "<commerce_account_id>",
  "product_catalogs": {
    "data": [
      {
        "id": "<product_catalog_id>",
        "product_sets": {
          "data": [
            {
              "id": "<product_set_id>",
              "name": "Product Set 1",
              "filter": "{\"product_item_id\":{\"is_any\":[]}}"
            },
          ],
        }
      }
    ]
  }
}