Anuncios de tiendas

Los anuncios de tiendas son una solución que ayuda a mejorar el rendimiento de tus anuncios dirigiendo de forma automática a los clientes potenciales a tu sitio web o a tu tienda, según dónde consideremos que tienen más probabilidades de hacer una compra.

Antes de empezar

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

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

Paso 1: Crear una campaña

Comienza creando una campaña publicitaria con una solicitud POST en /act_{ad_account_id}/campaigns.

En este nivel, debes establecer tu meta publicitaria mediante el campo objetivo. En lo que respecta a los anuncios de tiendas, los objetivos admitidos son PRODUCT_CATALOG_SALES y CONVERSIONS en relación con la experiencia de anuncios no basados en resultados (ODAX) y el objetivo OUTCOME_SALES en relación con ODAX.

  • Si se trata del objetivo PRODUCT_CATALOG_SALES, el promoted_object es el identificador del catálogo de productos. Ten en cuenta que el catálogo de productos tiene que estar conectado a una tienda en el sitio para que cumpla con los requisitos de los anuncios de tiendas.
  • No es obligatorio el campo CONVERSIONS en relación con el objetivo promoted_object.

Ejemplos de objetivos no 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/v19.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/v19.0/act_<AD_ACCOUNT_ID>/campaigns

Ejemplos de objetivos ODAX

Ejemplo de creación de una campaña OUTCOME_SALES con el objetivo PRODUCT_CATALOG_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/v19.0/act_<AD_ACCOUNT_ID>/campaigns

Ejemplo de creación de una campaña 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/v19.0/act_<AD_ACCOUNT_ID>/campaigns

Paso 2: Crear un conjunto de anuncios

En cuanto a los anuncios de tiendas, debes especificar el tipo de destino como SHOP_AUTOMATIC en relación con tu conjunto de anuncios.

  • Si el objetivo de la campaña está configurado en PRODUCT_CATALOG_SALES, debes proporcionar un identificador en promoted_object para promocionar productos de un conjunto de productos.
  • Si el objeto de la campaña está configurado en CONVERSIONS, define tu promoted_object para que sea una cuenta de comercio con la función de finalización de compra en el sitio activada.

Otros requisitos aplicables a 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 conversiones fuera del sitio (OFFSITE_CONVERSIONS como optimization_goal).
  • Los anuncios de tiendas solo admiten una estrategia de puja sin un límite de costo.
  • Para que los anuncios de tiendas se entreguen a la tienda, la segmentación debe incluir públicos en las regiones que admitan la finalización de compra en el sitio (actualmente, Estados Unidos).
  • Para que los anuncios de tiendas se entreguen en la tienda, la ubicación debe incluir al menos una plataforma que admita la 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/v19.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/v19.0/act_<D_ACCOUNT_ID>/adsets

Paso 3: Proporcionar el contenido de un anuncio

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

Los anuncios de tiendas no admiten lo siguiente:

  • Formatos de video o imágenes si 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
  • Destinos configurados en una app, evento o experiencias instantáneas si el objetivo es CONVERSIONS

Los anuncios por secuencia o anuncios con imágenes o videos

Puedes crear un anuncio por secuencia de la misma manera que creas anuncios que no son de tiendas. Si el objetivo de tu campaña es CONVERSIONS, también puedes crear un anuncio de imágenes o videos.

El page_id y/o instagram_actor_id configurado en object_story_spec debe tener al menos 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, en relación con los anuncios de tiendas, debes especificar un destino en el sitio como destino alternativo de tu página de destino fuera del sitio. Para hacerlo, configura el campo onsite_destination en la asset_feed_spec de tu contenido.

El destino en el sitio debe ser alguno de los siguientes:

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

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

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

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

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

Ejemplo del campo onsite_destinations en asset_feed_spec configurado en el conjunto de productos

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

Ejemplo del campo onsite_destinations en asset_feed_spec configurado en un producto específico

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

Ejemplo de contenido de un anuncio de 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/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Anuncios de catálogo Advantage+ con formato por secuencia

Para crear un anuncio por secuencia promocionando productos a partir de un conjunto de productos, puedes seguir Primeros pasos en el uso de los anuncios del catálogo Advantage+; paso 3: Proporcionar contenido del anuncio.

El page_id y/o instagram_actor_id configurado en object_story_spec debe tener al menos 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 configuras una campaña con PRODUCT_CATALOG_SALES como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que configuraste en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elegiste promocionar en tu 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 elegiste para promocionar en tu conjunto de anuncios.

Las características adicionales admitidas de los anuncios de tiendas son optimizaciones para tiendas. Si pensamos que podría mejorar el rendimiento de tu anuncio, agregaremos de forma automática diferentes optimizaciones a tus anuncios. Para aceptar esta función, configura shops_bundle en true en la asset_feed_spec de tu contenido (se incluyen tanto etiquetas de productos automatizadas como motivos para comprar en este momento y, potencialmente, otras optimizaciones en el futuro).

Las optimizaciones actuales de la tienda que se admiten son las siguientes:

  • Etiquetas de producto automatizadas: podemos etiquetar automáticamente productos de tu anuncio. Las etiquetas de productos envían a las personas directamente a la página del producto relevante en 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 agregar una oferta preexistente, que permite que los clientes ahorren en artículos seleccionados de tu tienda.

Si decides utilizar las etiquetas de productos automatizadas, configura automated_product_tags en true en los template_data de la object_story_spec. Si decides utilizar los motivos para comprar, configura reasons_to_shop en true en la asset_feed_spec de tu contenido.

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


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/v19.0/act_<AD_ACCOUNT_ID>/adcreatives


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/v19.0/act_<AD_ACCOUNT_ID>/adcreatives 

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/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Nota:

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

Contenido Advantage+ para catálogo

Los anuncios de tiendas de tiendas también admiten contenido Advantage+ para catálogo. Esta opción muestra diferentes formatos y contenidos del anuncio en diferentes cuentas del centro de cuentas en función de lo que más capta la atención de las personas.

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

El page_id y/o instagram_actor_id configurado en object_story_spec debe tener al menos 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 configuras una campaña con PRODUCT_CATALOG_SALES como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que configuraste en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elegiste promocionar en tu 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 elegiste para promocionar en tu conjunto de anuncios.

Ejemplo de contenido 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/v19.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/v19.0/act_<AD_ACCOUNT_ID>/ads 

Los anuncios de tiendas en campañas de compra Advantage+

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

Para crear una campaña de compras Advantage+ con anuncios de tiendas, sigue los pasos en Campañas de compra Advantage+, paso 2: Crear una campaña para crear primero una campaña.

Al crear un conjunto de anuncios para campañas de compras Advantage+ con anuncios de tiendas, similar a lo que sucede con los anuncios de tiendas solo, configura destination_type para que sea 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/v19.0/act_<AD_ACCOUNT_ID>/adsets

Consulta la optimización de conversiones multicanal de las campañas de compra Advantage+ para obtener más información.

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

Requisitos comerciales de anuncios de tiendas

Con el fin de obtener identificadores relevantes de anuncios de tiendas, es necesario que solicites a tu cliente el permiso catalog_management.

Si deseas crear anuncios de tiendas para una página, esta debe contar con una tienda visible en el sitio, lo que se puede lograr de la siguiente manera:

curl -i -X GET \
"https://graph.facebook.com/v19.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 deseas crear anuncios de tiendas, revisa si is_onsite_enabled está en true, y shop_status en ACTIVE. Si es así, podrás crear anuncios de tiendas para la página mediante las instrucciones que se indican en el resto de esta guía.

Obtener identificadores comerciales para crear anuncios de tiendas

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

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

curl -i -X GET \
"https://graph.facebook.com/v19.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 conseguir la que tiene la página con la que quieres crear 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/v19.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\":[]}}"
            },
          ],
        }
      }
    ]
  }
}