Anúncios de Lojas

Os anúncios de Lojas são uma solução que melhora o desempenho dos anúncios direcionando clientes em potencial para seu site ou loja, dependendo de onde achamos que eles têm maior probabilidade de fazer uma compra.

Antes de começar

Para criar um anúncio de conversão ou promoção de catálogo de produtos usando o site e o local de conversão da loja, você precisará de:

Etapa 1: Criar uma campanha

Comece criando sua campanha com uma solicitação POST para /act_{ad_account_id}/campaigns.

Neste nível, é necessário definir o objetivo da publicidade usando o campo de objetivo. Para anúncios de Lojas, os objetivos compatíveis são PRODUCT_CATALOG_SALES e CONVERSIONS para anúncios não baseados em Experiência de anúncio baseada em resultados (ODAX) e OUTCOME_SALES para anúncios ODAX.

  • Para o objetivo PRODUCT_CATALOG_SALES, promoted_object é o ID do catálogo de produtos. Observe que o catálogo de produtos precisa estar conectado a uma loja local para poder ser vinculado a anúncios de Lojas.
  • Para o objetivo CONVERSIONS, o campo promoted_object não é obrigatório.

Exemplos de objetivos não baseados em ODAX

Exemplo de criação de uma campanha com o 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

Exemplo de criação de uma campanha com o 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

Exemplos de objetivos ODAX

Exemplo de criação de uma campanha de PRODUCT_CATALOG_SALES com o 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

Exemplo de criação de uma campanha de CONVERSIONS com o 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

Etapa 2: Criar um conjunto de anúncios

Para anúncios de Lojas, é necessário especificar o tipo de destino como SHOP_AUTOMATIC para o conjunto de anúncios.

  • Se o objetivo da campanha for definido como PRODUCT_CATALOG_SALES, será necessário informar um ID de conjunto de produtos em promoted_object para promover produtos desse conjunto.
  • Se o objeto da campanha estiver definido como CONVERSIONS, defina promoted_object como uma conta comercial com checkout local disponível.

Outros requisitos dos anúncios de Lojas:

  • Anúncios de Lojas só são compatíveis com o evento de conversão PURCHASE (CUSTOM_EVENT_TYPE) no conjunto de produtos (se o objetivo for PRODUCT_CATALOG_SALES) ou no Pixel da Meta (se o objetivo for CONVERSIONS).
  • Anúncios de Lojas só são compatíveis com otimização em conversões externas (OFFSITE_CONVERSIONS definido como optimization_goal).
  • Só é possível utilizar uma estratégia de lance sem limite de custo em anúncios de Lojas.
  • Para veicular anúncios de Lojas para a loja, o direcionamento deve incluir públicos de regiões com suporte a finalização da compra local (atualmente, nos Estados Unidos).
  • Para veicular anúncios de Lojas para a loja, o posicionamento deve incluir pelo menos uma plataforma com suporte a finalização da compra local (no momento, Facebook e Instagram).

Exemplo de criação de conjunto de anúncios de Lojas com uma campanha com o objetivo PRODUCT_CATALOG_SALES com cobrança por 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 

Exemplo de criação de conjunto de anúncios de Lojas com uma campanha com o objetivo CONVERSIONS com cobrança por 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

Etapa 3: Adicionar um criativo

Com conjuntos de anúncios de Lojas, é possível criar

Anúncios de Lojas não são compatíveis com o seguinte:

  • Formatos de imagem/vídeo cujo objetivo da campanha é PRODUCT_CATALOG_SALES
  • Chamadas para ação configuradas para o envio de mensagens a uma Página, pelo Instagram ou pelo WhatsApp
  • Destinos configurados para um app, evento ou experiências instantâneas se o objetivo for CONVERSIONS

Anúncios em carrossel ou de imagem/vídeo

É possível criar um anúncio em carrossel da mesma forma que se cria anúncios não vinculados a Lojas. Se o objetivo da campanha for CONVERSIONS, é possível criar também um anúncio de imagem/vídeo.

page_id e/ou instagram_actor_id especificados em object_story_spec devem ter pelo menos uma loja pertencente à conta comercial que você escolheu promover no conjunto de anúncios ou ao catálogo que você escolheu promover na campanha. Além disso, ambos devem estar conectados à mesma conta comercial.

Além dos anúncios de Lojas, é necessário especificar um destino local como alternativa para a página de destino externa. Para tanto, defina o campo onsite_destination em asset_feed_spec no seu criativo.

O destino local precisa ser um dos seguintes:

  • página de vitrine da loja
    A página deve pertencer à conta comercial promovida no conjunto de anúncios.

  • um conjunto de produtos
    O conjunto de produtos deve pertencer a um catálogo da conta comercial promovida no conjunto de anúncios e deve conter pelo menos um produto visível em estoque.

  • um produto
    O produto deve pertencer ao catálogo da conta comercial promovida no conjunto de anúncios.

Exemplo do campo onsite_destinations em asset_feed_spec definido como a página de vitrine da loja

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

Exemplo do campo onsite_destinations em asset_feed_spec definido como o conjunto de produtos

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

Exemplo do campo onsite_destinations em asset_feed_spec definido como um produto específico

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

Exemplo de criativo para um anúncio de imagem

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

Anúncios de catálogo Advantage+ com formato de carrossel

Para criar um anúncio em carrossel para promover produtos de um conjunto, siga as instruções em Primeiros passos com anúncios de catálogo Advantage+ - Etapa 3: Adicionar um criativo de anúncio.

page_id e/ou instagram_actor_id especificados em object_story_spec devem ter pelo menos uma loja pertencente à conta comercial que você escolheu promover no conjunto de anúncios ou ao catálogo que você escolheu promover na campanha. Além disso, ambos devem estar conectados à mesma conta comercial.

Para o conjunto de produtos no criativo:

  • Se você está criando uma campanha com PRODUCT_CATALOG_SALES como objetivo, o conjunto de produtos escolhido deve pertencer ao catálogo definido na campanha e ser idêntico ao conjunto de produtos promovido no conjunto de anúncios.
  • Se você está criando uma campanha com CONVERSIONS como objetivo, o conjunto de produtos escolhido deve pertencer ao catálogo da conta comercial promovida no conjunto de anúncios.

Outros recursos compatíveis com anúncios de Lojas são otimizações para lojas. Adicionaremos diversas otimizações se acreditarmos que o desempenho dos seus anúncios pode melhorar com isso. Para aceitar esse recurso, defina shops_bundle como true em asset_feed_spec no criativo (inclui etiquetas de produto automatizadas, motivos para comprar no momento e, eventualmente, outras otimizações no futuro).

As otimizações de loja compatíveis no momento são:

  • Etiquetas de produto automatizadas: podemos etiquetar produtos no seu anúncio automaticamente. Etiquetas de produto enviam as pessoas diretamente à respectiva página do produto na loja.
  • Motivos para comprar: podemos destacar informações do produto presentes na sua loja automaticamente, como "Frete grátis", "Em alta" ou "Poucas unidades". Também podemos adicionar uma oferta existente para que clientes economizem em alguns produtos da loja.

Para aceitar as etiquetas de produto automatizadas, defina automated_product_tags como true em template_data em object_story_spec. Para aceitar os motivos para comprar, defina reasons_to_shop como true em asset_feed_spec no criativo.

Exemplos de anúncio em carrossel promovendo um conjunto de produtos com opção de automatizar totalmente as otimizações da loja


Aceitação 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


Aceitação 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 

Aceitação 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

Observação:

  • Anúncios de Lojas não são compatíveis com categorias para anúncios de catálogo Advantage+.
  • A otimização de etiquetas de produto automatizadas está disponível somente no Instagram.

Criativo Advantage+ para catálogo

Anúncios de Lojas também são compatíveis com criativo Advantage+ para catálogo. Esse recurso exibe diferentes formatos e criativos de anúncio para diversas contas da Central de Contas com base no conteúdo ao qual elas são mais propensas a responder.

Siga as instruções em Criativo Advantage+ para catálogo - Etapa 3: Adicionar criativo de anúncio para configurar seu criativo.

page_id e/ou instagram_actor_id especificados em object_story_spec devem ter pelo menos uma loja pertencente à conta comercial que você escolheu promover no conjunto de anúncios ou ao catálogo que você escolheu promover na campanha. Além disso, ambos devem estar conectados à mesma conta comercial.

Para o conjunto de produtos no criativo:

  • Se você está criando uma campanha com PRODUCT_CATALOG_SALES como objetivo, o conjunto de produtos escolhido deve pertencer ao catálogo definido na campanha e ser idêntico ao conjunto de produtos promovido no conjunto de anúncios.
  • Se você está criando uma campanha com CONVERSIONS como objetivo, o conjunto de produtos escolhido deve pertencer ao catálogo da conta comercial promovida no conjunto de anúncios.

Exemplo de criativo 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

Etapa 4: Criar um anúncio

Por fim, você pode criar um anúncio vinculado a um criativo de anúncio.

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 

Anúncios de Lojas com campanhas de compra Advantage+

É possível combinar anúncios de Lojas e campanhas de compra Advantage+, o que pode melhorar ainda mais o desempenho.

Para criar uma campanha de compras Advantage+ com anúncios de Lojas, siga os passos descritos em Campanhas de compra Advantage+ - Etapa 2: criar campanha para criar uma campanha primeiro.

Ao criar um conjunto de anúncios para campanhas de compra Advantage+ com anúncios de Lojas, defina destination_type como SHOP_AUTOMATIC e especifique sua conta comercial em promoted_object (o processo é o mesmo para anúncios de Lojas).

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

Consulte Otimização para conversão entre canais para campanhas de compra Advantage+ para saber mais.

Ao criar um criativo e um anúncio para campanhas de compra Advantage+ com anúncios de Lojas, a especificação segue a mesma lógica dos anúncios de Lojas em separado. Consulte Etapa 3: Adicionar criativo acima para ver mais detalhes.

Elegibilidade para comércio com anúncios de Lojas

Para obter os IDs necessários para anúncios de Lojas, você precisa da permissão catalog_management do seu cliente.

Para criar anúncios de Lojas para uma Página, a Página precisa ter uma loja local visível. Este dado está disponível em

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>"

Exemplo de resposta

{
  "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"
      }
    ],    
    // …
}

Na Página para a qual você deseja criar anúncios de Lojas, verifique se is_onsite_enabled está definido como true e shop_status está definido como ACTIVE. Se sim, você poderá criar anúncios de Lojas para a Página seguindo as instruções no restante deste guia.

Obter IDs comerciais para criar anúncios de Lojas

Para criar um anúncio de Lojas para uma Página, você precisa do seguinte:

Para obter o ID da conta comercial e o ID da loja, basta executar a 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>"

Uma conta comercial pode ter muitas lojas. Você deve obter o ID da loja vinculada à Página para a qual você quer criar anúncios de Lojas.

Para obter os IDs de catálogo, conjunto de produtos e produto

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>"

Exemplo de resposta

{
  "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\":[]}}"
            },
          ],
        }
      }
    ]
  }
}