Collegamento tra Klaviyo e Redshift

read
Last updated at:

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.

Screenshot 2025-11-09 alle 12.41.47 PM.png

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:

  1. Crea gli schemi KLAVIYO_TMP e KLAVIYO_IMPORT_FROM_DWH
  2. Crea un utente di servizio dedicato per Klaviyo
  3. Concedi le autorizzazioni per i privilegi minimi
  4. (Facoltativo) Convalida le autorizzazioni e la connettività
  5. 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 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)

-- 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

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

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/32

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 SELECT funzioni per l'utente Klaviyo.

Connetti Redshift a Klaviyo

  1. In Klaviyo, apri la barra laterale sinistra e vai su Advanced → Syncing (Sincronizzazione avanzata).
  2. Fai clic su Crea sincronizzazione.
  3. Seleziona Importa dati dal tuo magazzino dati.
  4. Scegli Redshift.
  5. 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 USAGE sullo schema e SELECT sulle 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'UTILIZZO solo se necessario.
  • Mantieni un semplice runbook che documenti le tue esatte istruzioni GRANT e 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)
x
Questo articolo ti è stato utile?
Utenti che ritengono sia utile: 0 su 0