Connessione tra Klaviyo e BigQuery (ETL inversa)
Advanced Klaviyo Data Platform non è incluso nell'applicazione di marketing standard di Klaviyo e per accedere alle funzionalità associate è necessario un abbonamento. Visita la nostra guida alla fatturazione per scoprire come acquistare questo piano.
Configurazione dell'ambiente e connessione
Segui questi passaggi per preparare BigQuery all’importazione dei dati in Klaviyo. Creerai i set di dati richiesti, configurerai un account di servizio dedicato e una chiave, assegnerai le autorizzazioni, verificherai la configurazione e creerai la tua prima sincronizzazione di importazione.
Per maggiori dettagli sul funzionamento dell’importazione del magazzino dati in Klaviyo, inclusi i requisiti dei dati di origine e le mappature dei campi, consulta Comprendere l’importazione del magazzino dati in Klaviyo.
1) Crea i set di dati richiesti
In BigQuery, crea 2 set di dati nel progetto che userai per Klaviyo. Entrambi i set di dati devono essere nella stessa posizione. Sostituisci YOUR_PROJECT_ID e YOUR_REGION nell’esempio con l’ID del tuo progetto e la posizione del set di dati, ad esempio us o europe-west1.
CREATE SCHEMA `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH`
OPTIONS(location='YOUR_REGION');
CREATE SCHEMA `YOUR_PROJECT_ID.KLAVIYO_TMP`
OPTIONS(location='YOUR_REGION');KLAVIYO_IMPORT_FROM_DWH: le tabelle e le viste in questo set di dati sono disponibili per Klaviyo per la lettura e l'importazione.KLAVIYO_TMP: dati temporanei o di staging usati durante le operazioni di sincronizzazione.
Crea almeno 1 tabella o vista contenente i dati che vuoi importare in KLAVIYO_IMPORT_FROM_DWH. Includi una colonna di timestamp che registri quando ogni riga è stata aggiunta o modificata; la selezionerai per il rilevamento delle modifiche durante la configurazione della sincronizzazione.
2) Crea l'account di servizio e la chiave di Klaviyo
Crea o seleziona un account di servizio Google dedicato a questa integrazione, ad esempio klaviyo-data-transfer-user. Scaricherai la relativa chiave JSON e la fornirai a Klaviyo.
- Nella console di Google Cloud, seleziona il progetto del passaggio 1, quindi vai a IAM e Amministratore > Account di servizio.
- Crea un nuovo account di servizio (o selezionane uno esistente dedicato a Klaviyo).
- Apri la scheda Chiavi e seleziona Aggiungi chiave > Crea nuova chiave. Seleziona JSON e fai clic su Crea. Conserva il file della chiave scaricata in modo sicuro; ti servirà il suo contenuto quando configurerai la connessione in Klaviyo.
3) Assegna le autorizzazioni richieste
Concedi all'account di servizio l'accesso al set di dati e l'autorizzazione a eseguire i job nel progetto, utilizzando gli ambiti riportati di seguito. Ti servirà l’autorizzazione per gestire l’accesso a queste risorse oppure l’aiuto del tuo amministratore Google Cloud.
Risorsa | Ruolo obbligatorio | Descrizione |
|---|---|---|
|
| Consente a Klaviyo di creare, leggere ed eliminare tabelle di staging. |
|
| Consente a Klaviyo di leggere dalle tue tabelle. |
Il tuo progetto Google Cloud |
| Consente all'account di servizio di eseguire job BigQuery, incluse le query. |
-- Replace YOUR_PROJECT_ID and SERVICE_ACCOUNT_EMAIL.
GRANT `roles/bigquery.dataEditor`
ON SCHEMA `YOUR_PROJECT_ID.KLAVIYO_TMP`
TO "serviceAccount:SERVICE_ACCOUNT_EMAIL";
GRANT `roles/bigquery.dataViewer`
ON SCHEMA `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH`
TO "serviceAccount:SERVICE_ACCOUNT_EMAIL";Esegui l’SQL sopra come amministratore con l’autorizzazione a concedere l’accesso al set di dati. Sostituisci SERVICE_ACCOUNT_EMAIL con l’indirizzo e-mail completo dell’account di servizio, ad esempio klaviyo-data-transfer-user@YOUR_PROJECT_ID.iam.gserviceaccount.com. Poi concedi BigQuery Job User a livello di progetto con il seguente comando Google Cloud CLI:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
--role="roles/bigquery.jobUser" \
--condition=None4) Verifica la configurazione (facoltativo)
4.1 Conferma che i set di dati esistono
Sostituisci YOUR_PROJECT_ID e YOUR_REGION con lo stesso progetto e la stessa posizione usati nel passaggio 1. Esegui le query SQL in quella posizione. Sostituisci i nomi delle tabelle di esempio con una tabella o una vista esistente nel tuo set di dati di origine.
SELECT schema_name
FROM `YOUR_PROJECT_ID`.`region-YOUR_REGION`.INFORMATION_SCHEMA.SCHEMATA
WHERE schema_name IN ('KLAVIYO_IMPORT_FROM_DWH', 'KLAVIYO_TMP');4.2 Conferma l'accesso all'account di servizio
Usa la chiave dell’account di servizio per autenticarti con la CLI o l’API di BigQuery ed eseguire una query semplice:
bq --project_id=YOUR_PROJECT_ID \
--location=YOUR_REGION \
query --use_legacy_sql=false \
'SELECT COUNT(*) FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_table`'4.3 Rivedi le autorizzazioni esplicite del set di dati
SELECT object_name, privilege_type, grantee
FROM `YOUR_PROJECT_ID`.`region-YOUR_REGION`.INFORMATION_SCHEMA.OBJECT_PRIVILEGES
WHERE object_name = 'KLAVIYO_IMPORT_FROM_DWH'
AND object_type = 'SCHEMA'
AND grantee = 'serviceAccount:SERVICE_ACCOUNT_EMAIL';
SELECT object_name, privilege_type, grantee
FROM `YOUR_PROJECT_ID`.`region-YOUR_REGION`.INFORMATION_SCHEMA.OBJECT_PRIVILEGES
WHERE object_name = 'KLAVIYO_TMP'
AND object_type = 'SCHEMA'
AND grantee = 'serviceAccount:SERVICE_ACCOUNT_EMAIL';Queste query mostrano solo le concessioni esplicite del set di dati, non le autorizzazioni ereditate o la concessione a livello di progetto BigQuery Job User. Sostituisci SERVICE_ACCOUNT_EMAIL con l’indirizzo e-mail completo dell’account di servizio. Se non riesci a interrogare questi metadati, chiedi all’amministratore Google Cloud di rivedere le associazioni dei ruoli.
4.4 Convalida le operazioni di creazione/lettura
-- Test create in KLAVIYO_TMP
CREATE TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions` (id INT64);
DROP TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions`;
-- Test select in KLAVIYO_IMPORT_FROM_DWH
SELECT * FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_existing_table` LIMIT 1;Suggerimento: esegui la query dell’account di servizio ed esegui i test di creazione/lettura usando lo stesso account e la stessa chiave che fornirai a Klaviyo. Conserva una copia dei risultati per gli audit.
5) Connettiti a BigQuery e crea una sincronizzazione di importazione
Una volta configurato l'ambiente BigQuery, completa la connessione in Klaviyo.
- In Klaviyo, apri Gestione dei dati > Sincronizzazione in Avanzate nella barra laterale sinistra.
- Se hai già una connessione, fai clic su Crea sincronizzazione. Se questa è la tua prima connessione, vai al passaggio successivo.
- Seleziona Importa i dati dal tuo magazzino dati.
- Scegli Google BigQuery come magazzino dati.
- Fai clic su Connetti a BigQuery.
Quando richiesto, fornisci i seguenti dettagli di configurazione della connessione:
Campo | Descrizione | Dove trovarlo |
|---|---|---|
ID del progetto | L'ID del tuo progetto Google Cloud. | Lo trovi nella console GCP nella parte superiore della pagina del progetto. |
Area geografica | La posizione di entrambi i set di dati richiesti, ad esempio | Usa la località selezionata quando crei entrambi i set di dati nel passaggio 1. |
Chiave dell'account di servizio | Il file della chiave JSON che hai scaricato per l'account di servizio. | Incolla l'intero contenuto del file della chiave JSON che hai scaricato al passaggio 2. |
Testa la connessione e salva la sincronizzazione dell'importazione
- Fai clic su Avanti per aprire Test connessione, quindi fai clic su Test. Risolvi eventuali errori e ripeti il test. Quando il test va a buon fine e trova almeno 1 tabella o vista, fai clic su Avanti.
- In Crea sincronizzazione, dai un nome alla sincronizzazione, seleziona la tabella o la vista di origine e il tipo di dati, quindi scegli Manuale o Esecuzione pianificata. Per una sincronizzazione pianificata, imposta l’intervallo, la data di inizio, l’ora di inizio e il fuso orario. Clicca su Avanti.
- In Mappa proprietà, seleziona la colonna del timestamp per il rilevamento delle modifiche e completa le mappature dei campi obbligatorie per il tuo tipo di dati. Fai clic su Fine per salvare la connessione di importazione ed eseguire la sincronizzazione.
Passaggio successivo: per un’importazione manuale, apri la connessione e seleziona Esegui manualmente dal menu azioni della sincronizzazione. Per inviare i dati di Klaviyo a BigQuery, configura una sincronizzazione di esportazione separata usando Comprendere la sincronizzazione con il magazzino dati in Klaviyo.