Este guia explica como criar e publicar anúncios de clique para o Instagram usando a API de Marketing.
Os anúncios de clique para o Instagram Direct direcionam as pessoas diretamente para conversas com sua empresa no Instagram Direct. Esses anúncios podem ser usados para alcançar pessoas em grande escala, bem como fornecer serviço individualizado e com destaque.
Os anúncios de clique para o Instagram são compatíveis com anúncios de imagem, vídeo, carrossel ou apresentação multimídia. Também é possível incluir um comando interativo para ligação telefônica nesses anúncios.
Se tiver interesse em criar anúncios que direcionem as pessoas para conversas no Messenger ou no WhatsApp, consulte Anúncios de clique para o Messenger e Anúncios de clique para o WhatsApp. Também é possível criar anúncios para o destino no qual o usuário tem mais probabilidade de responder. Para mais informações, acesse Anúncios de clique com vários destinos.
Este documento descreve as etapas que você precisa seguir ao configurar sua integração de anúncios de clique para o Instagram. Você precisará fazer o seguinte:
Este guia considera que você já tem o seguinte:
Para fazer chamadas aos pontos de extremidade deste guia, você precisará do seguinte:
ads_management
pages_manage_ads
pages_read_engagement
pages_show_list
O primeiro passo é criar a campanha de anúncios. Para isso, faça uma solicitação POST
para o ponto de extremidade /act_<AD_ACCOUNT_ID>/campaigns
, em que <AD_ACCOUNT_ID>
é a identificação da conta de anúncios da Meta. A solicitação precisa incluir:
Nome | Descrição |
---|---|
string | Obrigatório. |
enumeração | Obrigatório. |
list<Object> | Obrigatório. |
enumeração | Opcional. |
curl -X POST \
-F 'name=Click to Instagram Campaign' \
-F 'objective=OUTCOME_ENGAGEMENT' \
-F 'status=ACTIVE' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/campaigns
Caso ela seja bem-sucedida, o app receberá uma resposta JSON com a identificação da campanha recém-criada.
{ "id": "<AD_CAMPAIGN_ID>" }
É possível atualizar uma campanha fazendo uma solicitação POST
para /<AD_CAMPAIGN_ID>
.
Para verificar se você criou com sucesso uma campanha de clique para o Instagram, faça uma solicitação GET
para /<AD_CAMPAIGN_ID>
. Consulte a referência sobre campanha de anúncios para ver uma lista completa dos parâmetros disponíveis.
curl -X GET -G \
-d 'fields=name,status,objective' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_CAMPAIGN_ID>
{ "name": "Click to Instagram Campaign", "status": "ACTIVE", "objective": "OUTCOME_ENGAGEMENT", "id": "<AD_CAMPAIGN_ID>" }
Quando você já tiver uma campanha, crie um conjunto de anúncios. Para isso, faça uma solicitação POST
para o ponto de extremidade /act_<AD_ACCOUNT_ID>/adsets
, sendo <AD_ACCOUNT_ID>
a identificação da conta de anúncios da Meta. A solicitação precisa incluir:
Nome | Descrição |
---|---|
unsigned int32 | Obrigatório se bid_strategy for definido como |
enumeração | Opcional. |
enumeração | Obrigatório. |
string numérica ou número inteiro | Obrigatório. |
int64 | Obrigatório se |
string | Obrigatório. Defina como |
datetime | Obrigatório quando |
int64 | Obrigatório se |
string | Obrigatório. |
enumeração | Obrigatório.
|
| Obrigatório.
Consulte Ad Set, Promoted Object para saber mais. |
datetime | Opcional. |
enumeração | Opcional. |
Objeto de direcionamento | Obrigatório. |
datetime | Opcional. |
datetime | Obrigatório quando |
Consulte o artigo Ad Account Adsets para ver uma lista completa dos parâmetros disponíveis.
curl -X POST \ -F 'access_token=<ACCESS_TOKEN>' \ -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \ -F 'billing_event=IMPRESSIONS' \ -F 'campaign_id=<AD_CAMPAIGN_ID>' \ -F 'daily_budget=<DAILY_BUDGET>' \ -F 'destination_type=INSTAGRAM_DIRECT' \ -F 'name=Click to Instagram Ad Set' \ -F 'optimization_goal=CONVERSATIONS' \ -F 'promoted_object={ "page_id": "<PAGE_ID>" }' \ -F 'status=ACTIVE' \ -F 'start_time=<START_TIME>' \ -F 'targeting={ "geo_locations": { "countries":["US","CA"] }, "device_platforms": ["mobile", "desktop"] }' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
{ "id": "<AD_SET_ID>" }
É possível atualizar um conjunto de anúncios fazendo uma solicitação POST
para /<AD_SET_ID>
.
Para verificar se você criou com sucesso um conjunto de anúncios de clique para o Instagram, faça uma solicitação GET
para /<AD_SET_ID>
. Consulte a referência sobre conjunto de anúncios para ver uma lista completa dos parâmetros disponíveis.
curl -X GET -G \
-d 'fields=name,destination_type,optimization_goal,bid_strategy,status' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_SET_ID>
{ "name": "Click to Instagram Ad Set", "destination_type": "INSTAGRAM_DIRECT", "optimization_goal": "CONVERSATIONS", "bid_strategy": "LOWEST_COST_WITHOUT_CAP", "status": "ACTIVE", "id": "<AD_SET_ID>" }
Com o criativo, é possível adicionar ativos aos seus anúncios. Para gerar um criativo do anúncio, faça uma solicitação POST
para o ponto de extremidade /act_<AD_ACCOUNT_ID>/adcreatives
, sendo <AD_ACCOUNT_ID>
a identificação da conta de anúncios da Meta. A solicitação precisa incluir:
Nome | Descrição |
---|---|
string | Obrigatório. |
| Obrigatório. Obrigatório:
Opcional:
|
| Opcional. |
Acesse a referência sobre criativo do anúncio para ver uma lista completa dos parâmetros disponíveis.
Caso você veja o erro "O criativo deve fornecer enroll_status para aprimoramentos padrão" na versão 17.0 ou posterior, consulte Aprimoramentos padrão no Criativo Advantage+ e faça as correções necessárias.
A mensagem padrão exibida ao cliente é "Olá! Posso obter mais informações sobre isso?". Você pode criar experiências do usuário mais personalizadas em anúncios de clique para o Instagram ajustando a mensagem de saudação no campo page_welcome_message
em object_story_spec
.
Veja como adicionar quebra-gelos de texto com uma resposta automática opcional. A interpolação de strings {{user_first_name}}
, {{user_last_name}}
, {{user_full_name}}
e {{page_name}}
pode ser usada na mensagem de saudação e na resposta automática. Por exemplo, "Olá, {{user_first_name}}. Esta é a página {{page_name}}!".
"page_welcome_message": { "type": "VISUAL_EDITOR", "version": 2, "landing_screen_type": "welcome_message", "media_type": "text", "text_format": { "customer_action_type": "ice_breakers", "message": { "text": "<GREETING_MESSAGE>", "ice_breakers": [ { "title": "<ICEBREAKER>", "response": "<AUTO_RESPONSE>" }, { "title": "<ICEBREAKER>", "response": "<AUTO_RESPONSE>" }, { "title": "<ICEBREAKER>", "response": "<AUTO_RESPONSE>" } ] } } }
Consulte Ad, Image para saber mais.
curl -X POST \
-F 'name=Sample ad creative' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACCOUNT_ID>",
"link_data": {
"message": "<AD_PRIMARY_TEXT>",
"image_hash": "<IMAGE_HASH>"
"page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
Consulte Anúncios em vídeo e em carrossel para saber mais.
curl -X POST \
-F 'name=Sample ad creative' \
-F 'object_story_spec={
"message": "<AD_PRIMARY_TEXT>",
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACCOUNT_ID>",
"video_data": {
"video_id": "<VIDEO_ID>",
"image_url": "<THUMBNAIL_URL>"
"page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \ -F 'name=Sample ad creative' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "instagram_actor_id": "<INSTAGRAM_ACCOUNT_ID>", "link_data": { "message": "<AD_PRIMARY_TEXT>", "image_hash": "<IMAGE_HASH>" "call_to_action": { "type": "INSTAGRAM_MESSAGE", "value": { "app_destination": "INSTAGRAM_DIRECT" } } } }' \ -F 'asset_feed_spec={ "additional_data": { "partner_app_welcome_message_flow_id": "<FLOW_ID>", } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives
Para saber mais sobre fluxos de mensagens em apps, consulte Welcome message flows na documentação da plataforma do Messenger.
Consulte Anúncios em vídeo e em carrossel para saber mais.
curl -X POST \
-F 'name=Sample ad creative' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACCOUNT_ID>",
"link_data": {
"message": "<AD_PRIMARY_TEXT>",
"page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
},
"child_attachments": [
{
"image_hash": "<IMAGE_HASH>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
},
"name": "<AD_HEADLINE>"
},
{
"video_id": "<VIDEO_ID>",
"picture": "<THUMBNAIL_URL>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
},
"name": "<AD_HEADLINE>"
}
],
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
Caso ela seja bem-sucedida, o app receberá uma resposta JSON com a identificação do criativo do anúncio recém-gerado.
{ "id": "<AD_CREATIVE_ID>" }
Consulte Usar publicações como anúncios do Instagram para saber mais.
curl -X POST \
-F 'name=Sample ad creative from Instagram post' \
-F 'object_id=<PAGE_ID>' \
-F 'instagram_user_id=<INSTAGRAM_USER_ID>' \
-F 'source_instagram_media_id=<INSTAGRAM_POST_ID>' \
-F 'call_to_action={
"type": "INSTAGRAM_MESSAGE",
"value": {
"link": "https://www.instagram.com"
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \
-F 'name=Sample ad creative from Instagram image' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACTOR_ID>",
"link_data": {
"message": "<AD_PRIMARY_TEXT>",
"picture": "<IMAGE_URL>"
"page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
"call_to_action": {
"type": "INSTAGRAM_MESSAGE",
"value": {
"app_destination": "INSTAGRAM_DIRECT"
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
Consulte Usar publicações como anúncios do Instagram: publicações do Facebook para saber mais.
curl -i -X POST \
"https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT>/adcreatives
?object_story_id=<postOwnerID_postID>
&instagram_actor_id=<IG_USER_ID>
&call_to_action="{'type':MESSAGE_PAGE,'value':{'app_destination':'MESSENGER'}}"
&access_token=<ACCESS_TOKEN>"
Onde object_story_id
é a identificação da publicação no formato postOwnerID_postID
e instagram_actor_id
é uma identificação da conta do Instagram conectada à Página ou a identificação da conta do Instagram associada à Página. Veja mais detalhes em Set Up Instagram Accounts With Pages.
É possível atualizar um criativo do anúncio fazendo uma solicitação POST
para /<AD_CREATIVE_ID>
.
Para verificar se você criou com sucesso um criativo do anúncio de clique para o Instagram, faça uma solicitação GET
para /<AD_CREATIVE_ID>
. Consulte Ad Creative para ver uma lista completa dos parâmetros disponíveis.
curl -X GET -G \
-d 'fields=name,object_story_spec{link_data{call_to_action,page_welcome_message}}' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_CREATIVE_ID>
{ "name": "Sample ad creative", "object_story_spec": { "link_data": { "call_to_action": { "type": "INSTAGRAM_MESSAGE", "value": { "app_destination": "INSTAGRAM_DIRECT" } }, "page_welcome_message": { "type": "VISUAL_EDITOR", "version": 2, "landing_screen_type": "welcome_message", "media_type": "text", "text_format": { "customer_action_type": "ice_breakers", "message": { "text": "Sample greeting message", "ice_breakers": [ { "title": "Sample icebreaker 1" }, { "title": "Sample icebreaker 2" }, { "title": "Sample icebreaker 3" } ] } } } } }, "id": "<AD_CREATIVE_ID>" }
Use esta API para conectar contas do Instagram com a identificação da Página associada à conta do Instagram (IABP ID, pelas iniciais em inglês).
curl -X GET \
-F 'fields="iabp_id"' \
-F 'business_id=<BUSINESS_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/connected_instagram_accounts_with_iabp
Depois, quando você usar publicações como anúncios, será possível aplicar a "IABP ID" como o valor da object_id
.
curl -i -X POST \
"https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT>/adcreatives
?object_id=<IABP_ID> // iabp_id instead of page_id
&instagram_user_id=<IG_USER_ID>
&source_instagram_media_id=<IG_ORGANIC_MEDIA_ID>
&access_token=<API_ACCESS_TOKEN>"
Os anúncios permitem que você associe informações do criativo aos seus conjuntos de anúncios. Para criar um anúncio, envie uma solicitação POST
para o ponto de extremidade /act_<AD_ACCOUNT_ID>/ads
, sendo <AD_ACCOUNT_ID>
a identificação da conta de anúncios da Meta. A solicitação precisa incluir:
Nome | Descrição |
---|---|
string | Obrigatório. |
string numérica ou número inteiro | Obrigatório. |
| Obrigatório. |
enumeração | Obrigatório. |
curl -X POST \
-F 'name=Click to Instagram Ad' \
-F 'adset_id=<AD_SET_ID> \
-F 'creative={
"creative_id": "<AD_CREATIVE_ID>"
}' \
-F 'status=PAUSED \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/ads
{ "id": "<AD_ID>" }
Também é possível definir uma chamada para ação ao criar um anúncio.
"call_to_action": { "value": {"app_destination":"INSTAGRAM_DIRECT"}, "type": "MESSAGE_PAGE" }
É possível atualizar um anúncio fazendo uma solicitação POST
para /<AD_ID>
.
Para verificar se você criou com sucesso um anúncio de clique para o Instagram, faça uma solicitação GET
para /<AD_ID>
. Consulte a referência sobre anúncio para ver uma lista completa dos parâmetros disponíveis.
curl -X GET -G \
-d 'fields=status,adset_id,campaign_id \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_ID>
{ "status": "PAUSED", "adset_id": "<AD_SET_ID>", "campaign_id": "<AD_CAMPAIGN_ID>", "id": "<AD_ID>" }
Confira se o anúncio aparece no Gerenciador de Anúncios. Quando estiver tudo pronto para publicar suas alterações, selecione a campanha, o conjunto de anúncios da campanha e o anúncio. Depois, clique no botão Publicar.
Você também pode publicar seu anúncio via API enviando uma solicitação POST
para /<AD_ID>
com o parâmetro status
definido como ACTIVE
, sendo <AD_ID>
o anúncio que você quer publicar.
curl -X POST \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_ID>
{ "success": true }
O anúncio será analisado pela Meta e terá o effective_status
de PENDING_REVIEW
. Depois da aprovação, o status será automaticamente atualizado para ACTIVE
, e o anúncio será veiculado.
curl -X GET -G \
-d 'fields=status,effective_status' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_ID>
{ "status": "ACTIVE", "effective_status": "PENDING_REVIEW", "id": "<AD_ID>" }