Programar uma transferência dos Anúncios do Facebook

Com o serviço de transferência de dados do BigQuery para o conector de anúncios do Facebook, você programa e gerencia automaticamente jobs de carregamento recorrentes dos anúncios do Facebook no BigQuery.

Limitações

As transferências de dados do Facebook Ads estão sujeitas às seguintes limitações:

  • O intervalo mínimo entre as transferências recorrentes de dados do Facebook Ads é de 24 horas. O intervalo padrão para uma transferência de dados recorrente é de 24 horas.
  • O serviço de transferência de dados do BigQuery para anúncios do Facebook só é compatível com um conjunto fixo de tabelas. Não há suporte para relatórios personalizados.
  • As transferências de dados do Facebook Ads têm uma duração máxima de seis horas. Uma transferência falhará se demorar mais do que essa duração máxima.
  • Transferências incrementais não são aceitas para tabelas AdInsights e AdInsightsActions. Quando você cria uma transferência de dados que inclui AdInsights e AdInsightsActions, e você especificou uma data nas Opções de programação, todos os dados disponíveis para essa data são transferidos.
  • O serviço de transferência de dados do BigQuery aceita uma janela de atualização de um dia para tabelas AdInsights e AdInsightsActions. A janela de atualização se refere ao número de dias que uma transferência de dados recupera dados de origem. Quando você executa uma transferência de dados pela primeira vez, a transferência de dados recupera todos os dados de origem disponíveis na janela de atualização.
  • O token de acesso do usuário de longa duração necessário para as transferências do Facebook Ads expira após 60 dias.

    Se o token de acesso do usuário de longa duração expirar, você poderá conseguir o novo acessando os detalhes da transferência de dados e clicando em Editar. Na página de transferência de edição, siga as mesmas etapas dos pré-requisitos do Facebook Ads para gerar um novo token de acesso do usuário de longa duração.

Ingestão de dados de transferências de anúncios do Facebook

Ao transferir dados do Facebook Ads para o BigQuery, eles são carregados em tabelas do BigQuery particionadas por data. A partição da tabela em que os dados são carregados corresponde à data da fonte de dados. Se você programar várias transferências para a mesma data, o serviço de transferência de dados do BigQuery substituirá a partição dessa data específica pelos dados mais recentes. Várias transferências no mesmo dia ou preenchimentos não resultam em dados duplicados, e as partições de outras datas não são afetadas.

Para tabelas AdInsights e AdInsightsAction, a partição da tabela que os dados são carregados corresponde à data da fonte de dados.

Para tabelas AdAccounts, os snapshots são criados uma vez por dia e armazenados na partição da última data de execução de transferência. A janela de atualização não se aplica à tabela AdAccounts.

Antes de começar

As seções a seguir descrevem as etapas que você precisa seguir antes de criar uma transferência de dados dos Anúncios do Facebook.

Pré-requisitos dos Anúncios do Facebook

Verifique se você tem as seguintes informações dos Anúncios do Facebook ao criar uma transferência de dados dos Anúncios do Facebook.

Parâmetros dos Anúncios do Facebook Descrição
clientID O nome do ID do app para o cliente OAuth 2.0.
clientSecret A chave secreta do app para o cliente OAuth 2.0.
refreshToken O token de acesso do usuário de longa duração, também conhecido como token de atualização.

Para conseguir um clientID e um clientSecret, siga estas etapas:

  1. Crie um app de desenvolvedor do Facebook com o tipo de app Business.
  2. No painel do Aplicativo do Facebook, clique em Configurações do aplicativo > Básico e encontre o ID do aplicativo. e o secret do app que corresponde ao app.

Para conseguir um token de acesso do usuário de longa duração, também conhecido como token de atualização, execute as seguintes etapas:

  1. No console do Google Cloud, continue com as etapas para criar uma transferência dos Anúncios do Facebook.

  2. Na seção Detalhes da fonte de dados, copie o URI de redirecionamento listado após o campo Atualizar token.

    Copiar o URI de redirecionamento

  3. Clique no painel do Aplicativo do Facebook e em Configurar na seção Login do Facebook para empresas.

    Definir as configurações de login do Facebook para empresas

  4. Na página Configurações, insira o URL de redirecionamento no campo URIs de redirecionamento OAuth válidos e clique em Salvar.

  5. Volte para o console do Google Cloud. Na seção Detalhes da fonte de dados, clique em Autorizar. Você será redirecionado para uma página de autenticação do Facebook.

    Gerar um token de acesso do usuário de longa duração

  6. Selecione o aplicativo de desenvolvedor do Facebook para autorizar a conta que se conecta com o serviço de transferência de dados do BigQuery.

  7. Quando terminar, clique em Ok para retornar ao console do Google Cloud. O token de acesso do usuário de longa duração agora é preenchido na configuração de transferência.

Os tokens de acesso do usuário de longa duração expiram após 60 dias. Para mais informações sobre como receber um novo token de acesso do usuário de longa duração, consulte Limitações.

Atualizar alternativas de token

Se preferir, forneça um token de atualização ao criar uma transferência de dados, se você tiver conseguido um usando um dos seguintes métodos:

  • Gere um token de acesso do usuário de longa duração usando a API Graph. As permissões ads_management, ads_read e business_management são necessárias para um token válido para a transferência de dados.
  • Gere um token de usuário do sistema. Um token de usuário do sistema permite adicionar manualmente recursos, como contas de anúncios, para serem incluídos na transferência de dados. Se um token de usuário do sistema expirar, você deverá atualizar manualmente a configuração de transferência com novas credenciais. Você também tem a opção de criar um token que não expire quando você criar um token de usuário. Para mais informações, consulte Tokens de acesso compatíveis.

Pré-requisitos do BigQuery

Papéis obrigatórios do BigQuery

Para receber as permissões necessárias para criar um conjunto de dados federado, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin). Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar uma transferência. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar uma transferência:

  • bigquery.transfers.update no usuário
  • bigquery.datasets.get no conjunto de dados de destino
  • bigquery.datasets.update no conjunto de dados de destino

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar uma transferência de dados dos Anúncios do Facebook

Selecione uma das seguintes opções:

Console

  1. Acesse a página "Transferências de dados" no console do Google Cloud.

    Acesse Transferências de dados

  2. Clique em Criar transferência.

  3. Na seção Tipo de origem, em Origem, selecione Anúncios do Facebook.

  4. Na seção Detalhes da fonte de dados, faça o seguinte:

  5. Na seção Configurações de destino, em Conjunto de dados, escolha o conjunto criado para armazenar seus dados.

  6. No campo Nome de exibição, na seção Nome de configuração da transferência, insira um nome para a transferência de dados.

  7. Na seção Opções de programação, realize estas ações:

    • Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência vai ser executada quando você acionar manualmente a transferência.

    • Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.

  8. No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. A conta de serviço selecionada precisa ter os papéis necessários para executar a transferência de dados.

    Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência de dados. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência de dados é opcional.

    Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.

  9. Opcional: na seção Opções de notificação, faça o seguinte:

    • Para ativar as notificações por e-mail, clique no botão de alternância Notificação por e-mail. Quando essa opção está ativada, o administrador de transferência recebe uma notificação por e-mail quando uma execução de transferência falha.
    • Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência de dados, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar um tópico.
  10. Clique em Salvar.

Quando essa transferência é executada, o serviço de transferência de dados do BigQuery preenche automaticamente as tabelas a seguir.

Nome da tabela Descrição
AdAccounts As contas de anúncios disponíveis para um usuário.
AdInsights Relatório de insights de anúncios para todas as contas de anúncios.
AdInsightsActions Relatório de ações dos insights de anúncios para todas as contas de anúncios.

bq

Insira o comando bq mk e forneça a sinalização de execução da transferência --transfer_config:

bq mk \
    --transfer_config \
    --project_id=PROJECT_ID \
    --data_source=DATA_SOURCE \
    --display_name=DISPLAY_NAME \
    --target_dataset=DATASET \
    --params='PARAMETERS'

Em que:

  • PROJECT_ID (opcional): o ID do projeto do Google Cloud. Se --project_id não for fornecido para especificar um projeto determinado, o projeto padrão será usado;
  • DATA_SOURCE: a fonte de dados (por exemplo, facebook-ads).
  • DISPLAY_NAME: o nome de exibição da configuração da transferência de dados. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.
  • DATASET: o conjunto de dados de destino na configuração da transferência de dados.
  • PARAMETERS é o parâmetro da configuração de transferência de dados criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'. Confira a seguir os parâmetros para uma transferência dos Anúncios do Facebook:
    • connector.authentication.oauth.clientId: o nome do ID do app para o cliente OAuth 2.0.
    • connector.authentication.oauth.clientSecret: a chave secreta do app para o cliente OAuth 2.0.
    • connector.authentication.oauth.refreshToken: o ID do token de longa duração.

Por exemplo, o comando a seguir cria uma transferência de dados dos Anúncios do Facebook no projeto padrão com todos os parâmetros necessários:

bq mk \
--transfer_config \
--target_dataset=mydataset \
--data_source=facebook_ads \
--display_name='My Transfer' \
--params='{"connector.authentication.oauth.clientId": "1650000000",
    "connector.authentication.oauth.clientSecret":"TBA99550",
    "connector.authentication.oauth.refreshToken":"abcdef"}'

API

Use o método projects.locations.transferConfigs.create e forneça uma instância do recurso TransferConfig.

Resolver problemas na configuração de transferência

Se você estiver com problemas para configurar uma transferência de dados do Facebook Ads, tente as seguintes etapas de solução de problemas:

  • Verifique se o token de acesso do usuário expirou usando o depurador de tokens de acesso do Facebook. Os tokens de acesso do usuário de longa duração expiram após 60 dias. Se o token de acesso do usuário de longa duração tiver expirado, navegue até os detalhes da transferência e clique em Editar para modificar sua configuração de transferência. Na página de transferência de edição, siga as mesmas etapas nos pré-requisitos do Facebook Ads para gerar uma nova.
  • Verifique se o token de acesso do usuário de longa duração é gerado com as permissões necessárias: ads_management, ads_read e business_management. Caso contrário, siga as etapas nos pré-requisitos do Facebook Ads para gerar um novo token de acesso do usuário de longa duração.
  • Verifique se há algum item que precise de atenção na guia Ações necessárias no painel do app Facebook.

Talvez você encontre as seguintes mensagens relacionadas aos erros de limite de taxa da API Meta:

Erro: There have been too many calls from this ad-account. Wait a bit and try again.
Resolução: verifique se não há fluxos de trabalho paralelos usando os mesmos apps ou credenciais. Se os erros persistirem, tente atualizar suas permissões para Acesso avançado para aumentar a cota de limitação de taxa. Para mais informações, consulte Limitação de taxa da API Marketing.

Mensagens comuns de métricas de monitoramento

Também é possível verificar as métricas de monitoramento do serviço de transferência de dados do BigQuery para determinar a causa de uma falha na transferência de dados. A tabela a seguir lista algumas mensagens ERROR_CODE comuns para transferências de dados do Facebook Ads.

Erro Descrição
INVALID_ARGUMENT A configuração fornecida é inválida
PERMISSION_DENIED As credenciais são inválidas
UNAUTHENTICATED A autenticação é necessária
SERVICE_UNAVAILABLE O serviço está temporariamente impossibilitado de processar esta transferência de dados
DEADLINE_EXCEEDED A transferência de dados não foi concluída dentro do período máximo de seis horas
NOT_FOUND Um recurso solicitado não foi encontrado
INTERNAL Outro motivo fez com que o conector falhasse
RESOURCE_EXHAUSTED A cota ou o limite de uma fonte de dados foi esgotado

Preços

Não há custo para transferir dados dos Anúncios do Facebook para o BigQuery enquanto esse recurso está em Pré-lançamento.

A seguir