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 Anúncios do Facebook estão sujeitas às seguintes limitações:

  • O tempo mínimo de intervalo entre as transferências recorrentes do Facebook Ads é de 24 horas. O intervalo padrão para uma transferência recorrente é 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 Anúncios do Facebook 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 de longa duração expirar, você poderá conseguir o novo acessando os detalhes da transferência 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 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 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 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 de longa duração agora é preenchido na configuração de transferência.

Como alternativa, você pode gerar 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.

Os tokens de acesso do usuário de longa duração expiram após 60 dias.

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 como conceder papéis, consulte Gerenciar acesso.

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. No console do Google Cloud, acesse a página BigQuery Studio.

    Acessar o BigQuery Studio

  2. Clique em Transferências de dados > Criar uma transferência.

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

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

  5. 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 é 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.

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

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

    • Em ID do cliente, digite o ID do app.
    • Em Chave secreta do cliente, digite a chave secreta do app.
    • Em Token de atualização, insira o ID do token de acesso do usuário de longa duração clicando em Autorizar.

    Para informações sobre como recuperar esses valores, consulte Pré-requisitos dos Anúncios do Facebook.

  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.

    Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é 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, 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. 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.
  • PARAMETERS é o parâmetro da configuração de transferência 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 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 do Facebook Ads, tente as seguintes etapas de solução de problemas:

  • Verifique se o token de acesso de longa duração não expirou. Os tokens de acesso de longa duração expiram após 60 dias. Se o token de acesso 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 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 dos Anúncios do Facebook para gerar um novo token de acesso 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: Please reduce the amount of data you're asking for, then retry your request.
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 esses erros persistirem, tente fazer upgrade do nível do seu app para reduzir a limitação de taxa.

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. A tabela a seguir lista algumas mensagens ERROR_CODE comuns para transferências 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
DEADLINE_EXCEEDED A transferência 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