Collegamento tra Klaviyo e Redshift
Advanced KDP non è incluso nell'applicazione di marketing standard di Klaviyoe per accedere alle funzionalità associate è necessario un abbonamento. Visita la nostra guida alla fatturazione per scoprire come acquistare questo piano.
Panoramica
Questa guida guida guida guida gli amministratori di Redshift alla preparazione di Amazon Redshift per Klaviyo, garantendo l'accesso minimo richiesto e completando la connessione in modo da poter importare i dati del profilo secondo un programma. Imparerai a:
- Crea gli schemi
KLAVIYO_TMPeKLAVIYO_IMPORT_FROM_DWH - Crea un utente di servizio dedicato per Klaviyo
- Concedi le autorizzazioni per i privilegi minimi
- (Facoltativo) Convalida le autorizzazioni e la connettività
- Connetti Redshift a Klaviyo e inizia a creare le sincronizzazioni
Per informazioni generali sul funzionamento dell'importazione del magazzino dati, compresi gli oggetti supportati e le procedure consigliate per la struttura delle tabelle, consulta Informazioni sull'importazione del magazzino dati in Klaviyo.
Crea gli schemi obbligatoriCrea gli schemi obbligatori
Crea due schemi nel database che Redshift utilizzerà per Klaviyo:
-- eseguire come amministratore del database Redshift o come ruolo con CREATE SCHEMA CREATE CREATE SCHEMA IF NOT EXISTS klaviyo_import_from_dwh; CREATE SCHEMA IF NOT EXISTS klaviyo_tmp;
-
KLAVIYO_IMPORT_FROM_DWH– Posiziona qui le tue tabelle o viste finali pronte per la sincronizzazione. Durante la configurazione, Klaviyo elenca gli oggetti in questo schema tra cui scegliere, quindi includi solo le tabelle che intendi importare. -
KLAVIYO_TMP– Utilizzato esclusivamente da Klaviyo per le tabelle temporanee/di gestione temporanea durante i processi di sincronizzazione. Non modificare i dati qui: Klaviyo gestisce e pulisce automaticamente questo schema.
Crea l'utente del servizio Klaviyo
Crea un utente di database dedicato per Klaviyo con una password complessa che puoi ruotare in modo indipendente.
-- Sostituire con i tuoi nomi e una password complessa CREARE USER klaviyo_data_transfer_user WITH PASSWORD 'REPLACE_WITH_STRONG_PASSWORD';
Crea un ruolo per gestire le sovvenzioni per l'utente del servizio:
CREATE ROLE klaviyo_data_transfer_role; GRANT ROLE klaviyo_data_transfer_role TO klaviyo_data_transfer_user;
Conserva il nome utente e la password in modo sicuro: li utilizzerai quando colleghi Klaviyo a Redshift.
Concedi le autorizzazioni necessarie (minimo privilegio)Concedi le autorizzazioni necessarie (minimo privilegio)
-- 1) Consenti tabelle temporanee CONCEDI UN'AUTORIZZAZIONE TEMPORANEA SUL DATABASE NEL RUOLO klaviyo_data_transfer_role; -- 2) Autorizzazioni sullo schema di stadiazione Klaviyo gestisce l'UTILIZZO DELLE SOVVENZIONI NELLO SCHEMA klaviyo_tmp NEL RUOLO klaviyo_data_transfer_role; CONCEDI UN ACCESSO IN SOLA lettura ALLO SCHEMA Klaviyo_tmp NEL RUOLO klaviyo_data_transfer_role; -- 3) Accesso in sola lettura allo schema di importazione CONCEDI UN'AUTORIZZAZIONE SULLO SCHEMA klaviyo_import_from_dwh NEL RUOLO klaviyo_data_transfer_role; CONCEDI UN'AUTORIZZAZIONE PER TUTTE LE TABELLE NELLO SCHEMA klaviyo_import_from_dwh TO ROLE klaviyo_data_transfer_role; -- Ricordati di concedere l'accesso a nuove tabelle in futuro -- 3a) Concedi SELECT su visualizzazioni specifiche (ripetere come necessario) CONCEDI SELECT ON VIEW klaviyo_import_from_dwh.example_view_name TO ROLE klaviyo_data_transfer_role;(Facoltativo) Verifica la tua configurazione
(Facoltativo) Verifica la tua configurazione
Esegui alcuni controlli rapidi quando l'utente di Klaviyo conferma che le sovvenzioni sono corrette.
-- Passa al database di destinazione SET search_path TO klaviyo_tmp; -- 4.1 Convalida la creazione/lettura in KLAVIYO_TMP CREATE TABLE IF NOT EXISTS permission_check (id INT); INSERISCI IN permission_check VALUES (1); SELEZIONA COUNT(*) FROM permission_check; -- prevede 1 DROP TABLE permission_check; -- 4.2 Conferma la visibilità delle tabelle di importazione SET search_path TO klaviyo_import_from_dwh; SELECT tablename FROM pg_table_def WHERE schemaname = 'klaviyo_import_from_dwh' LIMIT 25; -- 4.3 Confermare SELECT su una tabella o vista sorgente SELECT * FROM klaviyo_import_from_dwh.EXAMPLE_TABLE;Accesso alla rete
Accesso alla rete
Klaviyo deve essere in grado di raggiungere il tuo endpoint Redshift.
- endpoint pubblico di Redshift: lista consentita gli IP statici di Klaviyo nel tuo firewall o nel tuo gruppo di sicurezza.
- endpoint privato (ad esempio PrivateLink): assicurati la connettività attraverso il tuo percorso di rete interno e le politiche di sicurezza.
Se utilizzi i gruppi di sicurezza, consenti l'accesso in entrata sulla tua porta Redshift (predefinita 5439) per gli intervalli IP di Klaviyo:
184.72.183.187/32 52.206.71.52/32 3.227.146.32/32 44.198.39.11/32 35.172.58.121/32 3.228.37.244/32 54.88.219.8/32 3.214.211.176/32Prepara le tue tabelle di importazione (struttura e prestazioni)
Prepara le tue tabelle di importazione (struttura e prestazioni)
Assicurati che tutte le tabelle che intendi importare seguano queste convenzioni per ottenere sincronizzazioni incrementali accurate ed efficienti:
-
Colonna Timestamp: includi un timestamp per la creazione di una riga o per l'ultimo aggiornamento (ad esempio,
inserted_at,updated_at,modified_at). - Aggiornamenti monotonici: la data e l'ora dovrebbero aumentare ogni volta che cambia una riga.
- Fuso orario: usa UTC o includi le informazioni sul fuso orario. Se manca, Klaviyo assume l'UTC.
-
Identificatori coerenti: utilizza gli stessi identificatori del profilo (
e-mail,telefono,external_id, ecc.) nelle tabelle di importazione per evitare duplicati. - Formati del consenso: quando sincronizzi i dati del consenso, segui gli stessi valori/formati validi utilizzati nei caricamenti di file o SFTP.
- Prestazioni: valuta la possibilità di ordinare o suddividere le chiavi nella tua colonna di data e ora per ottenere letture incrementali efficienti.
-
Visualizzazioni: puoi importare da tabelle o visualizzazioni, purché un semplice
SELECTfunzioni per l'utente Klaviyo.
Connetti Redshift a Klaviyo
- In Klaviyo, apri la barra laterale sinistra e vai su Advanced → Syncing (Sincronizzazione avanzata).
- Fai clic su Crea sincronizzazione.
- Seleziona Importa dati dal tuo magazzino dati.
- Scegli Redshift.
- Fai clic su Connetti a Redshift e inserisci i seguenti dettagli di connessione:
| Campo | Descrizione |
|---|---|
| Host | Il tuo endpoint Redshift (ad esempio, example-cluster.abc123.us-east-1.redshift.amazonaws.com) |
| Porta | 5439 (o la tua porta personalizzata) |
| Database | Il database contenente klaviyo_tmp e klaviyo_import_from_dwh
|
| Nome utente/Password | Le credenziali utente del servizio Klaviyo |
Dopo la connessione, Klaviyo testerà le tue credenziali e la connettività di rete. Una volta verificata, puoi creare sincronizzazioni e selezionare tabelle o viste da klaviyo_import_from_dwh.
Suggerimenti per la risoluzione dei problemi
Il test della connessione non va a buon fine
- Verifica che le regole del firewall o del gruppo di sicurezza consentano agli IP di Klaviyo di raggiungere il tuo endpoint Redshift sulla porta corretta.
- Conferma le impostazioni SSL e assicurati di utilizzare l'endpoint (cluster o gruppo di lavoro), l'area geografica e la porta corretti.
Le tabelle non appaiono
- Assicurati che le tabelle siano in
klaviyo_import_from_dwh. - Conferma che l'utente Klaviyo abbia
USAGEsullo schema eSELECTsulle tabelle o sulle viste.
Nessuna nuova sincronizzazione delle righe
- Verifica che gli aggiornamenti delle colonne della data e dell'ora riguardino le modifiche alle righe e utilizzino l'UTC o includano le informazioni sul fuso orario.
Errori di autorizzazione in fase di esecuzione
- Riesegui l'SQL di convalida come utente Klaviyo.
- Se necessario, riapplica le concessioni o i privilegi predefiniti.
Sicurezza e manutenzione
- Ruota la password utente del servizio regolarmente e dopo i cambi di personale.
- Limita l'utente di Klaviyo ai due schemi di cui sopra e concedi l'
UTILIZZOsolo se necessario. - Mantieni un semplice runbook che documenti le tue esatte istruzioni
GRANTe gli intervalli di IP che hai autorizzato.
Domande frequenti
Posso importare da più database Redshift?
Sì. Crea i due schemi in ogni database e collega gli oggetti da ciascuno come sincronizzazioni separate.
È possibile utilizzare le viste materializzate?
Sì. Concedi SELECT sulla vista materializzata all'utente Klaviyo.
Appendice: Esempio di DDL per una semplice tabella di importazione
CREA TABELLA klaviyo_import_from_dwh.profile_base ( external_id VARCHAR(128), email VARCHAR(320), telefono VARCHAR(32), nome VARCHAR(128), cognome VARCHAR(128), Paese VARCHAR(64), inserted_at TIMESTAMP ); -- assicurati di aumentare in modo monotono la data e l'ora degli inserimenti/aggiornamenti -- (utilizza ETL/ELT per impostare inserted_at = GETDATE() al momento del caricamento)