Connecter Klaviyo et Redshift
Advanced KDP n’est pas inclus dans l’application marketing standard de Klaviyo, et un abonnement est nécessaire pour accéder aux fonctionnalités associées. Consultez notre guide de facturation pour savoir comment acheter cet abonnement.
Vue d’ensemble
Ce guide explique aux administrateurs de Redshift comment préparer Amazon Redshift pour Klaviyo, accorder l’accès minimum requis et terminer la connexion afin que vous puissiez importer les données de profil selon un calendrier précis. Vous apprendrez à :
- Créer les schémas
KLAVIYO_TMPetKLAVIYO_IMPORT_FROM_DWH - Créer un utilisateur de service dédié pour Klaviyo
- Accorder les autorisations de moindre privilège
- (Facultatif) Valider les autorisations et la connectivité
- Connectez Redshift à Klaviyo et commencez à créer des synchronisations
Pour en savoir plus sur le fonctionnement de l’importation depuis un entrepôt de données, y compris les objets pris en charge et les bonnes pratiques en matière de structure des tableaux, consultez Comprendre l’importation depuis un entrepôt de données à Klaviyo.
Créez les schémas requisCréez les schémas requis
Créez deux schémas dans la base de données que Redshift utilisera pour Klaviyo :
-- Exécuter en tant qu'administrateur Redshift DB ou un rôle avec CREATE SCHEMA CREATE SCHEMA IF NOT EXISTS Klaviyo_import_from_dwh ; CREATE SCHEMA IF NOT EXISTS Klaviyo_tmp ;
-
KLAVIYO_IMPORT_FROM_DWH– Placez vos tableaux ou vues finaux prêts à être synchronisés ici. Lors de la configuration, Klaviyo répertorie les objets de ce schéma parmi lesquels vous pouvez choisir. N ’incluez donc que les tables que vous prévoyez d’importer. -
KLAVIYO_TMP– Utilisé exclusivement par Klaviyo pour les tables temporaires/intermédiaires lors des tâches de synchronisation. Ne modifiez pas les données ici : Klaviyo gère et nettoie ce schéma automatiquement.
Créez l’utilisateur du service Klaviyo
Créez une base de données utilisateur dédiée pour Klaviyo avec un mot de passe fort que vous pouvez faire pivoter indépendamment.
-- Remplacez par vos propres noms et un mot de passe fort CREATE USER Klaviyo_data_transfer_user WITH PASSWORD 'REPLACE_WITH_STRONG_PASSWORD';
Créez un rôle pour gérer les subventions pour l’utilisateur du service :
CREATE ROLE Klaviyo_data_transfer_role ; GRANT ROLE Klaviyo_data_transfer_role TO Klaviyo_data_transfer_user ;
Stockez le nom d’utilisateur et le mot de passe en toute sécurité. Vous les utiliserez lorsque vous connecterez Klaviyo à Redshift.
Accorder les autorisations requises (privilège minimum)Accorder les autorisations requises (privilège minimum)
-- 1) Autoriser les tables temporaires ACCORDER TEMPORAIREMENT SUR VOTRE BASE DE DONNÉES_BASE DE DONNÉES AU RÔLE Klaviyo_data_transfer_role ; -- 2) Autorisations sur le schéma intermédiaire Klaviyo gère ACCORDER L'UTILISATION SUR LE SCHÉMA Klaviyo_tmp AU RÔLE Klaviyo_data_transfer_role ; ACCORDER CRÉER SUR LE SCHÉMA Klaviyo_tmp AU RÔLE Klaviyo_data_transfer_role ; -- 3) Accès en lecture seule à votre schéma d'importation ACCORDER L'UTILISATION SUR LE SCHÉMA Klaviyo_import_from_dwh AU RÔLE Klaviyo_data_transfer_role ; ACCORDER LA SÉLECTION SUR TOUTES LES TABLES DU SCHÉMA Klaviyo_import_from_dwh AU RÔLE ¾_data_transfer_role ; -- N'oubliez pas d'accorder l'accès aux nouvelles tables à l'avenir -- 3a) Accorder la SÉLECTION sur des vues spécifiques (répéter si nécessaire) ACCORDER LA SÉLECTION ON VIEW_import_from_dwh.example_view_name TO ROLE_data_transfer_role ;(Facultatif) Vérifier votre configuration
(Facultatif) Vérifier votre configuration
Effectuez quelques vérifications rapides en tant qu’utilisateur Klaviyo pour confirmer que les autorisations sont correctes.
-- Passez à la base de données cible DÉFINISSEZ search_path SUR Klaviyo_tmp ; -- 4.1 Validez create/read in KLAVIYO_TMP CREATE TABLE IF NOT EXISTS permission_check (id INT); INSERT INTO permission_check VALUES (1); SELECT COUNT(*) FROM permission_check ; -- Attendez 1 DROP TABLE permission_check ; -- 4.2 Confirmez la visibilité des tables d'importation DÉFINISSEZ search_path SUR Klaviyo_import_from_dwh ; SELECT tablename FROM pg_table_def WHERE schemaname = 'Klaviyo_import_from_dwh' LIMIT 25 ; -- 4.3 Confirmez SELECT on a source table or view SELECT * FROM Klaviyo_import_from_dwh.EXAMPLE_TABLE ;Accès au réseau
Accès au réseau
Klaviyo doit être en mesure d’atteindre votre points de terminaison Redshift.
- points de terminaison Redshift public : liste d'autorisation des IP statiques de Klaviyo dans votre pare-feu ou votre groupe de sécurité.
- points de terminaison privé (par exemple, PrivateLink) : assurez la connectivité par le biais de votre chemin réseau interne et de vos politiques de sécurité.
Si vous utilisez des groupes de sécurité, autorisez l’accès entrant sur votre port Redshift (par défaut 5439) pour les plages d’adresses IP de 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/32Préparer vos tableaux d’importation (structure et performances)
Préparer vos tableaux d’importation (structure et performances)
Assurez-vous que toutes les tables que vous prévoyez d’importer respectent ces conventions pour des synchronisations incrémentielles précises et efficaces :
-
Colonne Horodatage : Incluez un horodatage de création ou de dernière mise à jour par ligne (par exemple,
inserted_at,updated_at,modified_at). - Mises à jour monotones : l’horodatage doit augmenter chaque fois qu’une ligne est modifiée.
- Fuseau horaire : utilisez UTC ou incluez des informations sur le fuseau horaire. S’il manque, Klaviyo suppose UTC.
-
Identifiants cohérents : utilisez les mêmes identifiants de profil (
e-mail,téléphone,external_id, etc.) dans les tableaux d’importation pour éviter les doublons. - Formats de consentement : Lors de la synchronisation des données de consentement, suivez les mêmes valeurs/formats valides que ceux utilisés dans les téléchargements de fichiers ou SFTP.
- Performances : envisagez d’ajouter des clés de tri ou de dist à votre colonne d’horodatage pour des lectures incrémentielles efficaces.
-
Vues : Vous pouvez importer des données à partir de tableaux ou de vues, à condition qu’une simple
SÉLECTIONfonctionne pour l’utilisateur Klaviyo.
Connecter Redshift à Klaviyo
- Dans Klaviyo, ouvrez la barre latérale gauche et accédez à Advanced → Synchronisation.
- Cliquez sur Créer une synchronisation.
- Sélectionnez Importer des données depuis votre entrepôt de données.
- Choisissez Redshift.
- Cliquez sur Connecter à Redshift et saisissez les détails de connexion suivants :
| Champ | Description |
|---|---|
| Hôte | Votre points de terminaison Redshift (par exemple, example-cluster.abc123.us-east-1.redshift.amazonaws.com) |
| Port | 5439 (ou votre port personnalisé) |
| Base de données | La base de données contenant Klaviyo_tmp et Klaviyo_import_from_dwh
|
| Nom d’utilisateur/mot de passe | Identifiants d’utilisateur du service Klaviyo |
Une fois la connexion établie, Klaviyo teste vos identifiants et votre connectivité réseau. Une fois la vérification effectuée, vous pouvez créer des synchronisations et sélectionner des tableaux ou des vues à partir de Klaviyo_import_from_dwh.
Résolution de problèmes
Échec du test de connexion
- Vérifiez que les règles de pare-feu ou de groupe de sécurité permettent aux IP de Klaviyo d’atteindre votre points de terminaison Redshift sur le bon port.
- Confirmez les paramètres SSL et assurez-vous que vous utilisez le bon points de terminaison (cluster ou groupe de travail), la bonne région et le bon port.
Les tableaux n’apparaissent pas.
- Assurez-vous que les tableaux sont dans
Klaviyo_import_from_dwh. - Confirmez que l’utilisateur Klaviyo a
USAGEsur le schéma etSELECTsur les tableaux ou les vues.
Aucune nouvelle synchronisation de lignes
- Vérifiez que vos colonnes d’horodatage sont mises à jour sur les changements de ligne et qu’elles utilisent les valeurs UTC ou incluent des informations de fuseau horaire.
Erreurs d’autorisation au moment de l’exécution
- Réexécutez le SQL de validation en tant qu’utilisateur Klaviyo.
- Réappliquez les autorisations ou les privilèges par défaut si nécessaire.
Sécurité et maintenance
- Faites pivoter le mot de passe de l’utilisateur du service régulièrement et après un changement de personnel.
- Limitez l’utilisateur Klaviyo aux deux schémas ci-dessus et n’autorisez l’
UTILISATIONque si nécessaire. - Conservez un guide simple qui documente vos instructions
GRANTexactes et les plages d’adresses IP que vous avez autorisées.
FAQ
Puis-je importer des données depuis plusieurs bases de données Redshift ?
Oui. Créez les deux schémas dans chaque base de données et connectez les objets de chacun en tant que synchronisations distinctes.
Puis-je utiliser des vues matérialisées ?
Oui. Accordez SELECT sur la vue matérialisée à l’utilisateur Klaviyo.
Annexe : exemple de DDL pour un tableau d’importation simple
CREATE TABLE Klaviyo_import_from_dwh.profile_base ( external_id VARCHAR(128), email VARCHAR(320), phone VARCHAR(32), first_name VARCHAR(128), last_name VARCHAR(128), country VARCHAR(64), inserted_at TIMESTAMP ) ; -- assurez-vous que l'horodatage augmente de manière monotone sur les inserts/mises à jour -- (utilisez votre ETL/ELT pour définir inserted_at = GETDATE() au moment du chargement)