Pianificare un trasferimento di Facebook Ads

Il connettore BigQuery Data Transfer Service per Facebook Ads consente di pianificare e gestire automaticamente i job di caricamento ricorrenti da Facebook Ads in BigQuery.

Limitazioni

I trasferimenti di dati di Facebook Ads sono soggetti alle seguenti limitazioni:

  • L'intervallo di tempo minimo tra i trasferimenti ricorrenti dei dati di Facebook Ads è di 24 ore. L'intervallo predefinito per un trasferimento dati ricorrente è di 24 ore.
  • BigQuery Data Transfer Service per Facebook Ads supporta solo un insieme fisso di tabelle. I report personalizzati non sono supportati.
  • I trasferimenti di dati di Facebook Ads hanno una durata massima di sei ore. Un trasferimento non va a buon fine se richiede più tempo di questa durata massima.
  • I trasferimenti incrementali non sono supportati per le tabelle AdInsights e AdInsightsActions. Quando crei un trasferimento di dati che include le tabelle AdInsights e AdInsightsActions e hai specificato una data in Opzioni pianificazione, vengono trasferiti tutti i dati disponibili per quella data.
  • BigQuery Data Transfer Service supporta una finestra di aggiornamento di un giorno per le tabelle AdInsights e AdInsightsActions. La finestra di aggiornamento si riferisce al numero di giorni da cui un trasferimento dei dati recupererà i dati di origine. Quando esegui un trasferimento dati per la prima volta, questo recupera tutti i dati di origine disponibili all'interno della finestra di aggiornamento.
  • Il token di accesso utente a lungo termine richiesto per i trasferimenti di Facebook Ads scade dopo 60 giorni.

    Se il token di accesso utente a lungo termine è scaduto, puoi ottenerne uno nuovo accedendo ai dettagli del trasferimento dei dati e facendo clic su Modifica. Nella pagina di modifica del trasferimento, segui gli stessi passaggi descritti in Prerequisiti di Facebook Ads per generare un nuovo token di accesso utente a lungo termine.

Importazione dei dati dai trasferimenti di Facebook Ads

Quando trasferisci i dati da Facebook Ads a BigQuery, i dati vengono caricati nelle tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data dell'origine dati. Se pianifichi più trasferimenti per la stessa data, BigQuery Data Transfer Service sovrascrive la partizione per quella data specifica con i dati più recenti. Più trasferimenti nello stesso giorno o l'esecuzione di backfill non generano dati duplicati e le partizioni per altre date non sono interessate.

Per le tabelle AdInsights e AdInsightsAction, la partizione della tabella in cui vengono caricati i dati corrisponde alla data dell'origine dati.

Per le tabelle AdAccounts, gli snapshot vengono acquisiti una volta al giorno e archiviati nella partizione della data dell'ultima esecuzione del trasferimento. La finestra di aggiornamento non si applica alla tabella AdAccounts.

Prima di iniziare

Le sezioni seguenti descrivono i passaggi da seguire prima di creare un trasferimento di dati di Facebook Ads.

Prerequisiti di Facebook Ads

Assicurati di disporre delle seguenti informazioni di Facebook Ads quando crei un trasferimento di dati di Facebook Ads.

Parametri di Facebook Ads Descrizione
clientID Il nome dell'ID app per il client OAuth 2.0.
clientSecret Il secret dell'app per il client OAuth 2.0.
refreshToken Il token di accesso utente a lungo termine, noto anche come token di aggiornamento.

Per ottenere clientID e clientSecret, segui questi passaggi:

  1. Crea un'app per sviluppatori Facebook con il tipo di app Business.
  2. Nella dashboard dell'app Facebook, fai clic su Impostazioni app > Di base e individua l'ID app e il segreto dell'app corrispondenti all'app.

Per ottenere un token di accesso utente a lungo termine, noto anche come token di aggiornamento, segui questi passaggi:

  1. Nella console Google Cloud, segui i passaggi per creare un trasferimento da Facebook Ads.

  2. Nella sezione Dettagli origine dati, copia l'URI di reindirizzamento elencato dopo il campo Token di aggiornamento.

    Copia l'URI di reindirizzamento

  3. Fai clic sulla dashboard dell'app Facebook, poi su Configura nella sezione Accesso a Facebook per le aziende.

    Configurare le impostazioni di Accesso Facebook per le aziende

  4. Nella pagina Impostazioni, inserisci l'URL di reindirizzamento nel campo URI di reindirizzamento OAuth validi e fai clic su Salva.

  5. Torna alla console Google Cloud. Nella sezione Dettagli dell'origine dati, fai clic su Autorizza. Verrà visualizzata una pagina di autenticazione di Facebook.

    Genera un token di accesso utente a lungo termine

  6. Seleziona l'app per sviluppatori Facebook per autorizzare l'account che si connette a BigQuery Data Transfer Service.

  7. Al termine, fai clic su Ok per tornare alla console Google Cloud. Il token di accesso utente a lungo termine viene ora inserito nella configurazione del trasferimento.

I token di accesso utente a lungo termine scadono dopo 60 giorni. Per informazioni su come ottenere un nuovo token di accesso utente a lungo termine, consulta Limitazioni.

Alternative al token di aggiornamento

In alternativa, puoi fornire un token di aggiornamento quando crei un trasferimento di dati se lo hai ottenuto utilizzando uno dei seguenti metodi:

  • Genera un token di accesso utente di lunga durata utilizzando l'API Graph. Le autorizzazioni ads_management, ads_read e business_management sono obbligatorie per un token valido per il trasferimento dei dati.
  • Genera un token utente di sistema. Un token utente di sistema ti consente di aggiungere manualmente gli asset, ad esempio gli account pubblicitari, da includere nel trasferimento dei dati. Se un token utente di sistema è scaduto, devi aggiornare manualmente la configurazione del trasferimento con nuove credenziali. Puoi anche scegliere di creare un token che non scade quando crei un token utente di sistema. Per ulteriori informazioni, vedi Token di accesso supportati.

Prerequisiti di BigQuery

Ruoli BigQuery obbligatori

Per ottenere le autorizzazioni necessarie per creare un trasferimento, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin). Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare un trasferimento sono necessarie le seguenti autorizzazioni:

  • bigquery.transfers.update sull'utente
  • bigquery.datasets.get nel set di dati di destinazione
  • bigquery.datasets.update nel set di dati di destinazione

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Creare un trasferimento di dati di Facebook Ads

Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina Trasferimenti dati nella console Google Cloud.

    Vai a Trasferimenti dati

  2. Fai clic su Crea trasferimento.

  3. Nella sezione Tipo di origine, seleziona Facebook Ads per Origine.

  4. Nella sezione Dettagli origine dati:

    • In ID client, inserisci l'ID app.
    • In Client secret, inserisci il secret dell'app.
    • In Token di aggiornamento, inserisci l'ID token di accesso utente a lungo termine facendo clic su Autorizza. In alternativa, se hai già un token di aggiornamento o un token utente di sistema, puoi inserire il token di aggiornamento direttamente in questo campo.

      Per informazioni su come recuperare un token di accesso utente a lungo termine, consulta i prerequisiti di Facebook Ads.

  5. Nella sezione Impostazioni di destinazione, per Set di dati, seleziona il set di dati che hai creato per archiviare i dati.

  6. Nella sezione Nome configurazione di trasferimento, in Nome visualizzato, inserisci un nome per il trasferimento dei dati.

  7. Nella sezione Opzioni di programmazione:

    • Nell'elenco Frequenza di ripetizione, seleziona un'opzione per specificare la frequenza con cui viene eseguito questo trasferimento di dati. Per specificare una frequenza di ripetizione personalizzata, seleziona Personalizzata. Se selezioni On demand, questo trasferimento viene eseguito quando attivi manualmente il trasferimento.

    • Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.

  8. (Facoltativo) Nel menu Account di servizio, seleziona un account di servizio tra quelli associati al tuo progetto Google Cloud. L'account di servizio selezionato deve avere i ruoli richiesti per eseguire questo trasferimento di dati.

    Se hai eseguito l'accesso con un'identità federata, è necessario un account di servizio per creare un trasferimento di dati. Se hai eseguito l'accesso con un Account Google, un account di servizio per il trasferimento dei dati è facoltativo.

    Per ulteriori informazioni sull'utilizzo degli account di servizio con i trasferimenti di dati, consulta Utilizzare gli account di servizio.

  9. (Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:

    • Per attivare le notifiche via email, fai clic sull'opzione di attivazione/disattivazione Notifica via email. Quando attivi questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando un'esecuzione del trasferimento non va a buon fine.
    • Per attivare le notifiche di esecuzione del trasferimento Pub/Sub per questo trasferimento di dati, fai clic sul pulsante di attivazione/disattivazione Notifiche Pub/Sub. Puoi selezionare il nome del tuo argomento oppure fare clic su Crea un argomento per crearne uno.
  10. Fai clic su Salva.

Quando viene eseguito questo trasferimento di dati, BigQuery Data Transfer Service compila automaticamente le seguenti tabelle.

Nome tabella Descrizione
AdAccounts Gli account pubblicitari disponibili per un utente.
AdInsights Report Approfondimenti sugli annunci per tutti gli account pubblicitari.
AdInsightsActions Report Azioni di statistiche sugli annunci per tutti gli account pubblicitari.

bq

Inserisci il comando bq mk e specifica il flag di creazione del trasferimento --transfer_config:

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

Dove:

  • PROJECT_ID (facoltativo): l'ID del tuo progetto Google Cloud. Se non viene fornito --project_id per specificare un determinato progetto, viene utilizzato il progetto predefinito.
  • DATA_SOURCE: l'origine dati (ad es. facebook-ads).
  • DISPLAY_NAME: il nome visualizzato per la configurazione del trasferimento di dati. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
  • DATASET: il set di dati di destinazione per la configurazione del trasferimento dei dati.
  • PARAMETERS: i parametri per la configurazione del trasferimento di dati creata in formato JSON. Ad esempio: --params='{"param":"param_value"}'. Di seguito sono riportati i parametri per un trasferimento di Facebook Ads:
    • connector.authentication.oauth.clientId: il nome dell'ID app per il client OAuth 2.0.
    • connector.authentication.oauth.clientSecret: il segreto dell'app per il client OAuth 2.0.
    • connector.authentication.oauth.refreshToken: l'ID token permanente.

Ad esempio, il seguente comando crea un trasferimento di dati di Facebook Ads nel progetto predefinito con tutti i parametri richiesti:

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

Utilizza il metodo projects.locations.transferConfigs.create e fornisci un'istanza della risorsa TransferConfig.

Risolvere i problemi di configurazione del trasferimento

Se hai problemi a configurare un trasferimento di dati di Facebook Ads, prova a svolgere i seguenti passaggi per la risoluzione dei problemi:

  • Controlla se il token di accesso utente è scaduto utilizzando lo strumento di debug dei token di accesso di Facebook. I token di accesso utente di lunga durata scadono dopo 60 giorni. Se il token di accesso utente a lungo termine è scaduto, vai ai dettagli del trasferimento e fai clic su Modifica per modificare la configurazione del trasferimento. Nella pagina di modifica del trasferimento, segui gli stessi passaggi descritti in Prerequisiti di Facebook Ads per generarne uno nuovo.
  • Verifica che il token di accesso utente a lungo termine venga generato con le autorizzazioni richieste: ads_management, ads_read e business_management. In caso contrario, segui i passaggi descritti nella sezione Prerequisiti di Facebook Ads per generare un nuovo token di accesso utente a lungo termine.
  • Controlla la scheda Azioni richieste nella dashboard dell'app Facebook per verificare se sono presenti elementi che richiedono attenzione.

Potresti visualizzare i seguenti messaggi di errore relativi ai limiti di frequenza dell'API Meta:

Errore: There have been too many calls from this ad-account. Wait a bit and try again.
Soluzione: verifica che non siano presenti flussi di lavoro paralleli che utilizzano le stesse app o le stesse credenziali. Se questi errori persistono, prova ad eseguire l'upgrade delle autorizzazioni ad Accesso avanzato per ottenere una quota di limitazione di frequenza maggiore. Per ulteriori informazioni, consulta Limitazione della frequenza dell'API Marketing.

Messaggi comuni sulle metriche di monitoraggio

Puoi anche controllare le metriche di monitoraggio di BigQuery Data Transfer Service per determinare la causa di un errore di trasferimento dei dati. La seguente tabella elenca alcuni messaggi ERROR_CODE comuni per i trasferimenti di dati di Facebook Ads.

Errore Descrizione
INVALID_ARGUMENT La configurazione fornita non è valida
PERMISSION_DENIED Le credenziali non sono valide
UNAUTHENTICATED L'autenticazione è obbligatoria
SERVICE_UNAVAILABLE Il servizio non è temporaneamente in grado di gestire questo trasferimento di dati
DEADLINE_EXCEEDED Il trasferimento dei dati non è stato completato entro la durata massima di sei ore
NOT_FOUND Una risorsa richiesta non è stata trovata
INTERNAL Un altro problema ha causato l'errore del connettore
RESOURCE_EXHAUSTED Una quota o un limite dell'origine dati è stato esaurito

Prezzi

Il trasferimento dei dati di Facebook Ads in BigQuery non prevede alcun costo mentre questa funzionalità è in fase di anteprima.

Passaggi successivi