caOS Documentação Meta Ads PT EN
Voltar ao guia

Meta Ads

Facebook e Instagram pagos. Você entra com a sua conta da Meta, marca quais contas de anúncio são deste workspace, e pronto. Não há nada para digitar e nada para pedir ao suporte da Meta.

Versão em uso Graph API v22.0 Conferido em 11/09/2026 Cadência versão nova a cada ~3 meses, cada uma vale ~2 anos Referência oficial

Começar

Conectarlogin da Meta, sem digitar nada

Em Fontes · Conectar nova fonte · Meta Ads, clique no cartão. Abre uma janela do Facebook, você entra e aprova. Se nada acontecer ao clicar, é bloqueador de pop-up.

Depois o caOS pergunta Quais contas são deste workspace?, com tudo pré-marcado. Marque as suas e confirme. Falta só a tag.

Desmarque o que não é seu. A autorização enxerga tudo que a pessoa que clicou alcança na Meta, e numa agência isso é a carteira inteira. Já houve workspace novo nascendo com quase cem contas de outra empresa. O que você não marcar não entra, e nada é alterado do lado da Meta.

Quem clica define o que aparece. A lista sai do acesso daquela pessoa. Se ela não enxerga a conta no Gerenciador de Anúncios, não vai enxergar aqui. Escolha antes quem vai conectar.

Sua credencial, e o que acontece com ela

Conectou uma vez, está conectado. A credencial se renova sozinha, indefinidamente. Você não precisa marcar data no calendário nem reconectar de tempos em tempos.

Só existe um jeito de a conexão cair: alguém revogar o acesso do lado da plataforma (senha trocada, pessoa removida da conta, autorização cancelada). Aí a conta aparece em Conexões perdidas e reconectar resolve, com as tags que ela já tinha.

A credencial fica cifrada de ponta a ponta. Ela é cifrada antes de ser gravada, e a chave não vive no banco: nem quem tem acesso ao banco lê o valor. Ninguém no caOS, nem você, vê a credencial de volta depois de salva; a tela mostra apenas que ela existe e está válida.

Só é lida a métrica que você pediu. O caOS não escreve na sua conta de anúncio para extrair dados, e não guarda dado pessoal de quem viu o anúncio. O tratamento segue a LGPD, e a exclusão é sua: revogar a conexão apaga a credencial guardada.

Referência

Métricas e dimensõeso que cada campo quer dizer

A tabela de desempenho traz 110 campos. Você não precisa conhecer todos: abaixo estão os que aparecem em relatório de verdade, com o nome que eles ganham no Pacer e na planilha.

Métricas principais13 de 110
Campo na APIO que éOnde aparece
spendQuanto foi investido, já na moeda da conta.Investimento no Pacer. Coluna spend na planilha.
impressionsQuantas vezes o anúncio foi exibido.Impressões.
clicksTodos os cliques, inclusive os que não vão para o site.Cliques. Para clique que sai para o site, use inline_link_clicks.
reachPessoas diferentes que viram o anúncio.Alcance. Não some entre dias nem entre anúncios: a mesma pessoa contaria duas vezes.
frequencyQuantas vezes, em média, cada pessoa viu.Frequência. O Pacer recalcula como impressões ÷ alcance do período, em vez de somar o campo.
inline_post_engagementInterações com a publicação.Engajamento.
actionsLista com todos os tipos de ação, não um número só.É daqui que sai conversão. Compra no site é offsite_conversion.fb_pixel_purchase.
video_15_sec_watched_actionsVídeo assistido por 15 segundos ou até o fim.É o que vira visualização de vídeo nos relatórios do caOS.
video_thruplay_watched_actionsThruPlay, a métrica que a interface da Meta mostra.Só existe na tabela que você monta. Número diferente do de cima: escolha um e não misture.
video_p25_watched_actionsChegou a 25% do vídeo. Existem também 50, 75, 95 e 100.Use para curva de retenção.
cpmCusto por mil impressões.CPM. O Pacer recalcula a partir das somas, em vez de tirar média de médias.
cpcCusto por clique.CPC, também recalculado.
ctrCliques ÷ impressões.CTR, também recalculado.
Dimensões5
Campo na APIO que éOnde aparece
date_startO dia da linha.Toda tabela de desempenho vem por dia.
campaign_nameNome da campanha.Vem junto campaign_id, que é o que não muda quando renomeiam.
adset_nameNome do conjunto.Com adset_id.
ad_nameNome do anúncio.Com ad_id.
account_currencyMoeda da conta.Confira antes de somar contas de países diferentes.

Parâmetros do relatório

Os campos acima dizem o que volta. Estes parâmetros dizem como: eles decidem o grão da linha, o período que ela cobre e o que conta como conversão. Dois relatórios da mesma conta com números diferentes quase sempre diferem aqui.

ParâmetroO que mudaValores
levelO grão de cada linha.Conta, campanha, conjunto ou anúncio. Padrão do caOS: anúncio.
time_incrementSe a linha é de um dia ou de um período inteiro.1 dia, 7 dias, mês, ou o período todo numa linha só. Padrão: 1 dia.
breakdownsA quebra, que multiplica as linhas.12 valores: idade, gênero, país, região, DMA, plataforma, posicionamento, dispositivo de impressão e de ação, produto, hora e faixa de frequência.
action_breakdownsComo a coluna de ações se abre.15 valores, entre eles tipo de ação, destino, reação, tipo de vídeo, som e card do carrossel. Padrão: action_type.
action_attribution_windowsQue janela conta uma conversão.Visualização e clique em 1, 7 ou 28 dias. Padrão do caOS: 1d_view + 7d_click, o mesmo padrão da Meta.
action_report_timeEm que dia a conversão é lançada.impression lança no dia do anúncio, conversion no dia da compra, mixed mistura. Padrão: mixed.

Tudo que dá para puxar

As tabelas acima são as que a maior parte dos relatórios usa, mas você não está preso a elas. O catálogo inteiro do Meta tem 11 tabelas e 427 campos, e ao montar a fonte você escolhe o que entra. O que aparece marcado como puxada por padrão é o que a fonte de exemplo usa; o resto está disponível do mesmo jeito.

A lista abaixo sai do próprio catálogo do Xtractor, o mesmo que a tela de nova fonte lê. Se um campo está aqui, a tela oferece.

adsinsights_default puxada por padrão110 campos

account_currency, account_id, account_name, action_values, actions, ad_click_actions, ad_id, ad_impression_actions, ad_name, adset_id, adset_name, attribution_setting, auction_bid, auction_competitiveness, auction_max_competitor_bid, average_purchases_conversion_value, buying_type, campaign_id, campaign_name, canvas_avg_view_percent, canvas_avg_view_time, catalog_segment_actions, catalog_segment_value, catalog_segment_value_mobile_purchase_roas, catalog_segment_value_omni_purchase_roas, catalog_segment_value_website_purchase_roas, clicks, conversion_rate_ranking, conversion_values, conversions, converted_product_quantity, converted_product_value, cost_per_15_sec_video_view, cost_per_2_sec_continuous_video_view, cost_per_action_type, cost_per_ad_click, cost_per_conversion, cost_per_estimated_ad_recallers, cost_per_inline_link_click, cost_per_inline_post_engagement, cost_per_outbound_click, cost_per_thruplay, cost_per_unique_action_type, cost_per_unique_click, cost_per_unique_inline_link_click, cost_per_unique_outbound_click, cpc, cpm, cpp, created_time, ctr, date_start, date_stop, engagement_rate_ranking, estimated_ad_recall_rate, estimated_ad_recallers, frequency, full_view_impressions, full_view_reach, impressions, inline_link_click_ctr, inline_link_clicks, inline_post_engagement, instant_experience_clicks_to_open, instant_experience_clicks_to_start, instant_experience_outbound_clicks, marketing_messages_delivery_rate, marketing_messages_link_btn_click_rate, marketing_messages_quick_reply_btn_click_rate, marketing_messages_read_rate, marketing_messages_website_purchase_values, mobile_app_purchase_roas, objective, onsite_conversion_messaging_detected_purchase_deduped, optimization_goal, outbound_clicks, outbound_clicks_ctr, purchase_roas, qualifying_question_qualify_answer_rate, quality_ranking, reach, shops_assisted_purchases, social_spend, spend, unique_actions, unique_clicks, unique_ctr, unique_inline_link_click_ctr, unique_inline_link_clicks, unique_link_clicks_ctr, unique_outbound_clicks, unique_outbound_clicks_ctr, updated_time, video_15_sec_watched_actions, video_30_sec_watched_actions, video_avg_time_watched_actions, video_continuous_2_sec_watched_actions, video_p100_watched_actions, video_p25_watched_actions, video_p50_watched_actions, video_p75_watched_actions, video_p95_watched_actions, video_play_actions, video_play_curve_actions, video_play_retention_0_to_15s_actions, video_play_retention_20_to_60s_actions, video_play_retention_graph_actions, video_time_watched_actions, website_ctr, website_purchase_roas

adaccounts80 campos

account_id, timezone_id, business_name, account_status, age, amount_spent, balance, business_city, business_country_code, business_street, business_street2, can_create_brand_lift_study, capabilities, created_time, currency, disable_reason, end_advertiser, end_advertiser_name, has_migrated_permissions, id, is_attribution_spec_system_default, is_direct_deals_enabled, is_in_3ds_authorization_enabled_market, is_notifications_enabled, is_personal, is_prepay_account, is_tax_id_required, min_campaign_group_spend_cap, min_daily_budget, name, offsite_pixels_tos_accepted, owner, spend_cap, tax_id_status, tax_id_type, timezone_name, timezone_offset_hours_utc, agency_client_declaration_agency_representing_client, agency_client_declaration_client_based_in_france, agency_client_declaration_client_city, agency_client_declaration_client_country_code, agency_client_declaration_client_email_address, agency_client_declaration_client_name, agency_client_declaration_client_postal_code, agency_client_declaration_client_province, agency_client_declaration_client_street, agency_client_declaration_client_street2, agency_client_declaration_has_written_mandate_from_advertiser, agency_client_declaration_is_client_paying_invoices, business_manager_block_offline_analytics, business_manager_created_by, business_manager_created_time, business_manager_extended_updated_time, business_manager_is_hidden, business_manager_link, business_manager_name, business_manager_payment_account_id, business_manager_primary_page, business_manager_profile_picture_uri, business_manager_timezone_id, business_manager_two_factor_type, business_manager_updated_by, business_manager_update_time, business_manager_verification_status, business_manager_vertical, business_manager_vertical_id, business_manager_manager_id, extended_credit_invoice_group_id, extended_credit_invoice_group_auto_enroll, extended_credit_invoice_group_customer_po_number, extended_credit_invoice_group_email, extended_credit_invoice_group_emails, extended_credit_invoice_group_name, business_state, io_number, media_agency, partner, salesforce_invoice_group_id, business_zip, tax_id

creatives52 campos

id, account_id, actor_id, applink_treatment, asset_feed_spec, authorization_category, body, branded_content_sponsor_page_id, bundle_folder_id, call_to_action_type, categorization_criteria, category_media_source, degrees_of_freedom_spec, destination_set_id, dynamic_ad_voice, effective_authorization_category, effective_instagram_media_id, effective_object_story_id, enable_direct_install, image_hash, image_url, instagram_actor_id, instagram_permalink_url, instagram_story_id, link_destination_display_url, link_og_id, link_url, messenger_sponsored_message, name, object_id, object_store_url, object_story_id, object_story_spec, object_type, object_url, page_link, page_message, place_page_set_id, platform_customizations, playable_asset_id, source_instagram_media_id, status, template_url, thumbnail_id, thumbnail_url, title, url_tags, use_page_actor_override, video_id, template_url_spec, product_set_id, carousel_ad_link

adsets43 campos

name, end_time, billing_event, campaign_attribution, destination_type, is_dynamic_creative, lifetime_imps, multi_optimization_goal_weight, optimization_goal, optimization_sub_event, pacing_type, recurring_budget_semantics, source_adset_id, status, targeting_optimization_types, use_new_app_click, promoted_object, id, account_id, updated_time, daily_budget, budget_remaining, effective_status, campaign_id, created_time, start_time, lifetime_budget, bid_info, adlabels, attribution_spec, learning_stage_info, configured_status, asset_feed_id, daily_min_spend_target, daily_spend_cap, instagram_actor_id, review_feedback, rf_prediction_id, bid_amount, bid_strategy, targeting, lifetime_min_spend_target, lifetime_spend_cap

advideos38 campos

id, account_id, ad_breaks, backdated_time, backdated_time_granularity, content_category, content_tags, created_time, custom_labels, description, embed_html, embeddable, event, format, from_object, icon, is_crosspost_video, is_crossposting_eligible, is_episode, is_instagram_eligible, is_reference_only, length, live_status, music_video_copyright, permalink_url, place, post_views, premiere_living_room_status, privacy, published, scheduled_publish_time, source, status_processing_progress, status_value, title, universal_video_id, updated_time, views

campaigns35 campos

name, objective, id, account_id, effective_status, buying_type, can_create_brand_lift_study, can_use_spend_cap, configured_status, has_secondary_skadnetwork_reporting, is_skadnetwork_attribution, primary_attribution, smart_promotion_type, pacing_type, source_campaign_id, boosted_object_id, special_ad_categories, special_ad_category, status, topline_id, spend_cap, budget_remaining, daily_budget, start_time, stop_time, updated_time, created_time, adlabels, budget_rebalance_flag, bid_strategy, ad_strategy_group_id, ad_strategy_id, lifetime_budget, last_budget_toggling_time, special_ad_category_country

customaudiences21 campos

account_id, id, approximate_count_lower_bound, approximate_count_upper_bound, time_updated, time_created, time_content_updated, customer_file_source, data_source, delivery_status, description, lookalike_spec, is_value_based, operation_status, permission_for_actions, pixel_id, retention_days, subtype, rule_aggregation, opt_out_link, name

ads19 campos

bid_type, account_id, campaign_id, adset_id, bid_amount, bid_info, status, creative, id, updated_time, created_time, name, effective_status, last_updated_by_app_id, recommendations, source_ad_id, tracking_specs, conversion_specs, configured_status

adimages16 campos

id, account_id, created_time, creatives, hash, height, is_associated_creatives_in_adgroups, name, original_height, original_width, permalink_url, status, updated_time, url, url_128, width

customconversions8 campos

account_id, id, name, creation_time, business, is_archived, is_unavailable, last_fired_time

adlabels5 campos

id, account, created_time, updated_time, name

E a tabela que você desenha

Além das tabelas prontas, o Meta é o único conector com um montador de tabela: você escolhe o nível (conta, campanha, conjunto ou anúncio), se agrega por dia, semana, mês ou período inteiro, e quais campos entram. O seletor oferece 119 campos organizados em oito categorias: identificação, configuração, entrega e custo, cliques, engajamento, vídeo, conversões e ações, e qualidade e estimativas.

São 23 dimensões, 68 métricas e 28 tipos de ação. Por cima disso entram as quebras, que multiplicam as linhas: idade, gênero, país, região, DMA, plataforma, posicionamento, dispositivo de impressão, dispositivo de ação, produto, hora e faixa de frequência. E as quebras de ação, que abrem a coluna de conversões por tipo, destino, reação, tipo de vídeo, som, card do carrossel e mais.

A tela valida a combinação antes de chamar a API, porque o Meta só aceita certas permutações de quebra. Se ela recusar, é a regra da própria plataforma, e tirar uma quebra por vez resolve.

Cada quebra multiplica as linhas, e a Meta só aceita certas combinações: frequência exige alcance, quebra por hora recusa campos de vídeo. A tela avisa antes de chamar a API.

Saída

Onde os dados chegamplanilha e banco são coisas diferentes

Planilha do Google

Para quem monta relatório na mão

Você escolhe as colunas e o recorte, e cada sincronização atualiza a mesma aba. Não há catálogo para estudar: o que você marcar vira coluna, na ordem em que marcou.

Comece por investimento, impressões, cliques e o nome da campanha. É o suficiente para 90% dos relatórios, e você acrescenta o resto depois sem refazer nada.

BigQuery

Para quem vai modelar em cima

11 tabelas padrão mais as que você desenhar. A de desempenho é adsinsights_default: uma linha por anúncio por dia. As outras são cadastro (contas, campanhas, conjuntos, anúncios, criativos, imagens, vídeos, rótulos, públicos e conversões) e são retrato do momento, não série no tempo.

Tabelas que você desenha viram tabela própria no destino: escolhe o nível, a agregação e os campos.

Enterprise

Criativo em tamanho de apresentação. A API da Meta devolve a imagem do criativo em miniatura, e cerca de metade dos criativos (vídeo, carrossel, dinâmico) nem traz a versão grande. Serve para conferir, não para colocar num relatório de cliente.

No plano Enterprise o caOS pede a imagem em alta na origem e guarda uma cópia própria de cada criativo, com link estável. O criativo entra no relatório em tamanho de apresentação, e continua acessível mesmo depois de o anúncio sair do ar.

Confiança

Atualização do dadopor que o número de ontem ainda muda

Plataforma de anúncio reescreve o passado. Conversão que só é atribuída dias depois, gasto revisado, linha corrigida: o número de terça-feira muda na quinta. Se a extração só trouxesse o dia novo, sua planilha ficaria congelada no primeiro valor e passaria a divergir da plataforma sem ninguém perceber.

Por isso o caOS relê os últimos 28 dias a cada sincronização, e reescreve o que mudou. O histórico mais antigo continua no destino e não é tocado. Na prática: o que está na sua planilha ou no seu banco é o que a plataforma diz hoje, não o que ela dizia no dia da primeira carga.

O dia fecha no fuso da conta de anúncio, não no seu. Quando um cliente troca de conta e a nova está em outro fuso, a fronteira do dia se desloca: o total do período não muda, mas o número de um dia específico sim.

Detalhe

Bom sabero que costuma gerar dúvida

Conversão não é uma coluna, é uma linha dentro de actions. Compra no site é offsite_conversion.fb_pixel_purchase; omni_purchase soma site, app e loja, e dá número maior. Na planilha, actions chega como a soma de todos os tipos de ação, não como a conversão isolada que você quer.

Duas métricas de vídeo com nomes parecidos. A tabela padrão traz a de 15 segundos; a tabela que você monta oferece o ThruPlay, e não oferece a de 15 segundos. São números diferentes. Escolha um e não misture entre relatórios.

Alcance não soma. Somar o alcance de dois dias, ou de dois anúncios, conta a mesma pessoa duas vezes. Para alcance de um período, peça o período inteiro de uma vez.

Suporte

Quando dá erradoa mensagem e o que fazer

“A autorização não foi concluída.” O acesso foi negado, ou a janela foi fechada antes de aprovar. Recomece pelo botão do caOS.

“Sua sessão de conexão expirou.” O link vale 10 minutos e serve uma vez. Recomece, sem reaproveitar uma janela antiga.

Conectou e nenhuma conta aparece. Na Meta a busca roda depois da conexão. Espere alguns segundos e recarregue. Continuando vazio, o lugar de olhar é o acesso de quem autorizou.

“Conta Meta sem token válido.” A credencial que trouxe aquela conta foi revogada. Reconectar resolve, e a conta volta com as tags que tinha.

“Combinação de quebras não é válida.” Tire uma quebra por vez até a tela voltar ao normal.

“Pausada automaticamente após 5 falhas seguidas.” A conexão para sozinha depois de cinco erros em sequência. Corrija o que o último erro apontou e reative.