Advanced Klaviyo Data Platform 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 sur la facturation pour découvrir comment acheter cet abonnement.

Objectif de cet article

Découvrez comment configurer Databricks comme destination de synchronisation sortante afin que Klaviyo écrive en continu vos données de profil, d’événement et d’indicateur dans des tables Delta au sein de votre propre espace de travail Databricks. Une fois connecté, votre équipe data peut joindre les données Klaviyo au reste de votre lakehouse pour l’analyse, la modélisation et le reporting.

Vous cherchez plutôt à importer des données dans Klaviyo depuis Databricks ? Voir Connexion de Klaviyo et Databricks.

Avant de commencer

Assurez-vous d’avoir les éléments suivants :

  • Un espace de travail Databricks avec Unity Catalog activé. Les espaces de travail utilisant uniquement le metastore Hive ne sont pas pris en charge. Si vous utilisez le metastore Hive, envisagez la fédération du metastore Hive.
  • Un entrepôt SQL qui prend en charge VARIANT colonnes et des tables temporaires à portée de session afin que Klaviyo puisse écrire des données. Les entrepôts SQL sans serveur sont recommandés ; les entrepôts Classic et Pro peuvent prendre plusieurs minutes à démarrer, ce qui peut retarder les synchronisations.
  • Autorisation de créer des schémas, des tables et des autorisations dans le catalogue que vous utiliserez (ou l’aide d’un administrateur Databricks).
  • Autorisation de gérer les intégrations dans Klaviyo.
  • Adresses IP sortantes de Klaviyo ajoutées à la liste d’autorisation, si votre espace de travail limite le trafic entrant avec des listes d’accès IP :
    • 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

Vous ne pouvez avoir qu’une seule destination d’exportation d’entrepôt de données par compte Klaviyo. Si vous exportez déjà vers un autre entrepôt de données (par exemple Snowflake ou S3), vous devrez supprimer cette destination avant d’ajouter Databricks.

Étape 1 : créez un schéma pour les données Klaviyo

Dans Databricks, les schémas se trouvent dans un catalogue. Créez un schéma dédié pour contenir les tables dans lesquelles Klaviyo écrit. Les exemples SQL de cet article utilisent main comme catalogue et KLAVIYO_EXPORT comme schéma. Si vous utilisez des noms différents, remplacez-les dans tous les exemples SQL, puis saisissez ces mêmes noms dans Klaviyo à l’étape 5.

sql
USE CATALOG main;  -- or your organization's designated catalog
CREATE SCHEMA IF NOT EXISTS KLAVIYO_EXPORT;

Étape 2 : créer les tables de destination

Exécutez le script suivant dans le schéma que vous avez créé à l’étape 1. Klaviyo écrit dans 3 tables :

  • klaviyo_profile: une ligne par profil, y compris les champs standard, l’emplacement et les propriétés personnalisées.
  • klaviyo_event: Une ligne par événement (par exemple, Commande passée ou E-mail ouvert), lié à un profil et à un indicateur.
  • klaviyo_metric: Une ligne par indicateur, utilisée pour rechercher le nom de l’indicateur et l’intégration source pour chaque événement.

Les propriétés de profil personnalisées et les propriétés d’événement sont stockées dans les colonnes VARIANT, afin que vous puissiez interroger directement du JSON imbriqué sans gérer des centaines de colonnes individuelles.

sql
USE SCHEMA main.KLAVIYO_EXPORT;

CREATE TABLE klaviyo_profile (
  id                 STRING NOT NULL,
  external_id        STRING,
  email              STRING,
  phone_number       STRING,
  first_name         STRING,
  last_name          STRING,
  title              STRING,
  organization       STRING,
  properties         VARIANT,
  image              STRING,
  created            TIMESTAMP,
  updated            TIMESTAMP,
  location_address1  STRING,
  location_address2  STRING,
  location_city      STRING,
  location_country   STRING,
  location_latitude  STRING,
  location_longitude STRING,
  location_region    STRING,
  location_zip       STRING,
  PRIMARY KEY (id)
)
TBLPROPERTIES ('delta.feature.variantType-preview' = 'supported');

CREATE TABLE klaviyo_event (
  id               STRING NOT NULL,
  metric_id        STRING NOT NULL,
  profile_id       STRING,
  event_properties VARIANT,
  datetime         TIMESTAMP,
  uuid             STRING,
  PRIMARY KEY (id)
)
TBLPROPERTIES ('delta.feature.variantType-preview' = 'supported');

CREATE TABLE klaviyo_metric (
  id                   STRING NOT NULL,
  name                 STRING NOT NULL,
  integration_id       STRING,
  integration_name     STRING,
  integration_category STRING,
  created              TIMESTAMP,
  updated              TIMESTAMP,
  PRIMARY KEY (id)
);

Les noms de table doivent correspondre exactement. Klaviyo recherche klaviyo_profile, klaviyo_event et klaviyo_metric dans le schéma que vous fournissez lors de la configuration.

Étape 3 : créer un principal de service et un jeton d’accès

Klaviyo s’authentifie auprès de Databricks avec un jeton d’accès personnel (PAT). Nous vous recommandons de créer un principal de service dédié, utilisé uniquement pour cette intégration, plutôt que le compte d’une personne.

  1. Créez un principal de service (ou un utilisateur d’espace de travail) pour Klaviyo.
  2. Générez un jeton d’accès personnel :
  3. Stockez le jeton dans un endroit sécurisé. Vous le collerez dans Klaviyo à l’étape 5.

Traitez le jeton d’accès comme un mot de passe. Toute personne disposant du jeton peut accéder à Databricks avec les autorisations du compte associé. Faites-le pivoter régulièrement et après les changements de personnel.

Si vous avez déjà créé un principal de service pour importer depuis Databricks, vous pouvez le réutiliser. Ajoutez simplement les autorisations d’exportation à l’étape 4.

Étape 4 : octroi des autorisations

Accordez au principal de service Klaviyo l’accès au catalogue, au schéma et à l’entrepôt SQL. Remplacez klaviyo_service_user par l’ID d’application ou le nom d’utilisateur de votre principal de service.

sql
GRANT USE CATALOG ON CATALOG main TO `klaviyo_service_user`;
GRANT USE SCHEMA, SELECT, MODIFY ON SCHEMA main.KLAVIYO_EXPORT TO `klaviyo_service_user`;

Privilège

Objectif

USE CATALOG

Permet à Klaviyo d’accéder au catalogue qui contient votre schéma d’exportation.

USE SCHEMA

Permet à Klaviyo d’accéder au schéma d’exportation.

SELECT

Permet à Klaviyo de lire les lignes existantes afin de mettre à jour les enregistrements au lieu de les dupliquer.

MODIFY

Permet à Klaviyo d’insérer, de mettre à jour et de supprimer des lignes dans les tables de destination.

Accordez également au principal de service l’autorisation Peut utiliser sur l’entrepôt SQL que vous prévoyez d’utiliser. Dans Databricks, accédez à Entrepôts SQL, sélectionnez votre entrepôt, cliquez sur Autorisations, puis ajoutez le principal de service.

Vérifier votre configuration (facultatif)

En utilisant la même identité et le même jeton que vous donnerez à Klaviyo, confirmez les tables et les autorisations :

sql
SHOW TABLES IN main.KLAVIYO_EXPORT;
SHOW GRANTS ON SCHEMA main.KLAVIYO_EXPORT;

Vous devriez voir les 3 tables, et le principal de service devrait être répertorié avec USE SCHEMA, SELECT et MODIFY.

Étape 5 : connecter Databricks dans Klaviyo

  1. Dans Klaviyo, accédez à Avancé > Gestion des données > Synchronisation.
  2. Si vous avez déjà une synchronisation, cliquez sur Créer une synchronisation.
  3. Sélectionnez Exporter les données vers votre entrepôt de données.
  4. Choisissez Databricks, puis cliquez sur Se connecter à Databricks.
  5. Saisissez vos détails de connexion :

Champ

Description

Où le trouver

Nom

Indiquez un nom pour vous aider à identifier cette connexion.

Saisissez un nom descriptif, par exemple Export Klaviyo.

Nom d’hôte du serveur

L’hôte de votre espace de travail Databricks.

La barre d’adresse de votre navigateur lorsque vous êtes connecté à Databricks. Exemple : abc-12345678.cloud.databricks.com

Chemin HTTP

Le chemin HTTP de l’entrepôt SQL que Klaviyo utilisera.

Entrepôts SQL > sélectionnez votre entrepôt > Détails de la connexion. Exemple : /sql/1.0/warehouses/1234abcd5678efgh

Catalogue

Le catalogue qui contient votre schéma d’exportation.

Le catalogue que vous avez utilisé à l’étape 1 (par exemple, main).

Schéma

Le schéma qui contient les 3 tables Klaviyo.

Le schéma que vous avez créé à l’étape 1 (par exemple, KLAVIYO_EXPORT).

Jeton d’accès

Le jeton d’accès personnel du principal de service ou de l’utilisateur de l’espace de travail que vous avez créé.

Le jeton que vous avez généré à l’étape 3.

Cliquez sur Suivant pour configurer votre synchronisation.

Vous pouvez également trouver Databricks dans le marketplace d’applications de Klaviyo en accédant à Intégrations > Découvrir les applications et en recherchant Databricks.

Étape 6 : Configurer la synchronisation de vos données

Choisissez ce que Klaviyo envoie à Databricks et quand il se synchronise.

Objets de données

Choisissez de synchroniser les profils, les événements, ou les deux. Les données d’indicateur sont synchronisées avec les événements, ce qui vous permet de rechercher le nom et la source de l’indicateur de chaque événement.

La synchronisation de toutes les données de Klaviyo peut augmenter vos coûts de calcul et de stockage Databricks.

Intégrations à exclure

Sélectionnez toutes les intégrations dont vous ne souhaitez pas que les événements soient envoyés à Databricks. Cela s’applique uniquement aux données d’événement ; cela n’exclut pas les profils.

Synchronisation sélective

Sélectionnez les indicateurs dont vous souhaitez synchroniser les événements, comme Placed Order. Laissez Synchronisation sélective vide pour synchroniser tous les événements provenant des intégrations que vous n’avez pas exclues. Ce champ n’apparaît que si vous sélectionnez l’objet de données Événements.

Cadence de synchronisation

Sous Tous, choisissez la fréquence de synchronisation des données nouvelles et mises à jour : toutes les 1, 2, 4, 6, 12 ou 24 heures. La valeur par défaut est 1 heure. Définissez la Date de début, l’Heure de début et le Fuseau horaire du calendrier.

Données historiques

Choisissez la quantité de données historiques à envoyer lors de la synchronisation initiale :

  • 30 jours
  • 90 jours
  • 1 an
  • Depuis toujours

Les synchronisations historiques volumineuses peuvent prendre un certain temps et peuvent augmenter vos coûts Databricks. Envisagez de commencer avec une fenêtre plus courte si vous n’avez besoin que de données récentes.

Étape 7 : passer en revue, connecter, et surveiller votre synchronisation

  1. Cliquez sur Suivant pour ouvrir Vérifier. Vérifiez les détails de votre connexion, les données partagées, les intégrations exclues, les indicateurs sélectionnés, et la plage de synchronisation initiale des données.
  2. Cliquez sur Connecter. Klaviyo teste la connexion et crée l’exportation si le test réussit.

Lorsque la configuration réussit, Klaviyo affiche un message de confirmation, puis vous ramène à Synchronisation. Votre exportation est activée, et vous pouvez y surveiller son statut de synchronisation.

Si le test de connexion échoue, examinez les détails de l’erreur. Cliquez sur Modifier les identifiants pour corriger les détails de votre connexion, puis cliquez sur Suivant dans les paramètres de données pour revenir à Vérifier, et cliquez à nouveau sur Connecter.

Pour surveiller votre synchronisation, accédez à Advanced > Data management > Syncing, puis cliquez sur Databricks dans la ligne marquée Export. Utilisez ces onglets :

  • Historique : Le statut de votre remplissage initial.
  • Périodique : Le statut des synchronisations selon la fréquence que vous avez sélectionnée, y compris la fraîcheur des données (le décalage de vos tables Databricks par rapport à Klaviyo).
  • Paramètres: consultez et modifiez les détails de votre connexion, la sélection des données, la fréquence de synchronisation, et la plage historique. Cliquez sur Mettre les informations à jour dans la section que vous modifiez pour enregistrer.

Pour en savoir plus sur les statuts de synchronisation, la mise en pause et la reprise des synchronisations, ainsi que l’affichage des journaux d’erreurs, consultez Comprendre la synchronisation des entrepôts de données dans Klaviyo.

Interrogez vos données Klaviyo dans Databricks

Voici quelques exemples pour commencer.

Comptez les événements par nom d’indicateur au cours des 7 derniers jours :

sql
SELECT m.name AS metric, COUNT(*) AS events
FROM main.KLAVIYO_EXPORT.klaviyo_event e
JOIN main.KLAVIYO_EXPORT.klaviyo_metric m ON e.metric_id = m.id
WHERE e.datetime >= current_timestamp() - INTERVAL 7 DAYS
GROUP BY m.name
ORDER BY events DESC;

Lire une propriétés de profil personnalisée à partir de la colonne properties VARIANT :

sql
SELECT id, email, properties:loyalty_tier::STRING AS loyalty_tier
FROM main.KLAVIYO_EXPORT.klaviyo_profile
WHERE properties:loyalty_tier IS NOT NULL;

Obtenir la valeur de commande à partir des événements Placed Order :

sql
SELECT e.profile_id, e.datetime, e.event_properties:`$value`::DOUBLE AS order_value
FROM main.KLAVIYO_EXPORT.klaviyo_event e
JOIN main.KLAVIYO_EXPORT.klaviyo_metric m ON e.metric_id = m.id
WHERE m.name = 'Placed Order';

Résolution de problèmes

Problème

Éléments à vérifier

Le test de connexion échoue en raison d’une erreur d’authentification

Vérifiez que le nom d’hôte n’a pas de préfixe https:// ni de barre oblique finale, et que le jeton d’accès est valide et n’a pas expiré.

Le test de connexion échoue avec une erreur d’autorisations

Confirmez les autorisations à l’étape 4, y compris USE CATALOG et Peut utiliser sur l’entrepôt SQL.

Klaviyo ne parvient pas à trouver les tables de destination

Confirmez que le catalogue et le schéma dans Klaviyo correspondent à l’emplacement où vous avez exécuté le script de l’étape 2, et que les noms de table sont exactement klaviyo_profile, klaviyo_event et klaviyo_metric.

Erreurs liées au type VARIANT

Assurez-vous que votre entrepôt SQL exécute une version de Databricks SQL qui prend en charge VARIANT, et que les tables ont été créées avec le TBLPROPERTIES indiqué à l’étape 2.

Les synchronisations sont lentes à démarrer

Le démarrage des entrepôts SQL Classic et Pro peut prendre plusieurs minutes. Utilisez un entrepôt SQL serverless ou augmentez la durée d’arrêt automatique de l’entrepôt.

Les requêtes sont bloquées

Si votre espace de travail utilise des listes d’accès IP, ajoutez les adresses IP Klaviyo répertoriées dans Avant de commencer à la liste d’autorisation.

Supprimer une exportation Databricks

La suppression de l’exportation empêche les synchronisations futures. Les données déjà écrites dans vos tables Databricks ne sont pas supprimées.

  1. Accédez à intégrations dans Klaviyo.
  2. Ouvrez le menu à côté de l’intégration d’exportation Databricks et sélectionnez Supprimer l’intégration.
  3. Cliquez sur Supprimer l’intégration dans la boîte de dialogue de confirmation.

Ressources supplémentaires

Cet article vous a-t-il été utile ?
Utilisez ce formulaire uniquement pour nous faire part de vos commentaires sur cet article. Comment contacter l’assistance.

Explorer d’autres contenus Klaviyo

Communauté
Contactez des membres de votre secteur, des partenaires et des experts Klaviyo pour trouver de l’inspiration, partager des informations et obtenir des réponses à toutes vos questions.
Partenaires
Engagez un expert certifié Klaviyo pour vous aider avec une tâche spécifique ou pour la gestion continue du marketing.
Assistance

Accédez à l’assistance par l’intermédiaire de votre compte.

Assistance par e-mail (essai gratuit et comptes payants) Disponible 24 h/24, 7 j/7

Assistance par chat/virtuelle
La disponibilité varie selon la localisation et le type d’abonnement.