Captain Metrics Docs
  • Qu'est-ce que Captain Metrics ?
  • Introduction
    • Bien démarrer
    • Unification des utilisateurs
  • Multi-channel attribution
    • Introduction à l'attribution multi-canal
    • Configuration & mapping des canaux
  • Notifications
    • Introduction
    • Notifications & templates
    • Macros
    • Topics
  • Marketing automation
    • Workflows
    • Export des segments
  • Intégrations
    • Agent web JS
    • Google AMP
    • Shopify
    • WooCommerce
    • Google Ads
    • Facebook Ads
    • Mailchimp
    • Postmark
    • Twilio
    • Webhook
    • SparkPost
    • Klaviyo
  • Data Import API
    • Fonctionnement
    • Schémas
  • Data Read API
    • Read API
Propulsé par GitBook
Sur cette page
  • User
  • Exemple
  • Product
  • Product variant
  • Product price
  • Product image
  • Exemple
  • Order
  • Order item
  • Order discount
  • Order refund
  • Refund item
  • Exemple
  • Event
  • Lead
  • Client
  • Session
  • Pageview
  • TimeSpent
  • Cart
  • WishList
  • Notification topics
  • Inscription
  • Désinscription
  • Alias
  • Exemple

Cet article vous a-t-il été utile ?

  1. Data Import API

Schémas

L'API d'import des datas permet de traiter un batch de 10 items par requête dont voici les différents schémas.

Vous pouvez mixer les différents types de données dans le même batch.

User

Les objets user doivent pouvoir être manipulés avec finesse, c'est pourquoi l'API vous permet de modifier ou supprimer uniquement certains champs avec des opérateurs dédiés (set, unset, addTags, setTags, removeTags, addProperties, setProperties, removeProperties).

La plupart des champs des profils utilisateurs sont standardisés avec des formats ISO (language, country, timezone...) afin d'être exploitables par vos intégrations tierces.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "user".

user

object

✓

Objet contenant les datas.

user.externalId

string

✓

User ID externe de votre base de donnée.

user.isAuthenticated

boolean

✓

user.createdAt

datetime

Date de création initiale du user dans votre base de donnée, au format ISO.

user.profile

object

Objet contenant les opérations de modification du profil utilisateur.

user.profile.set

object

Objet contenant les champs du profil utilisateur à modifier.

user.profile.set.signupAt

datetime

user.profile.set.firstName

string

Prénom.

user.profile.set.lastName

string

Nom.

user.profile.set.gender

string (male/female)

Sexe (male ou female).

user.profile.set.birthday

date

Date d'anniversaire au format 2020-31-01.

user.profile.set.language

string

Langue préférée pour les communications au format ISO (fr, en...)

user.profile.set.photoURL

URL

URL de la photo de profil.

user.profile.set.email

email

Adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailMd5

string

Hash MD5 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailSha1

string

Hash SHA1 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailSha256

string

Hash SHA256 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.websiteURL

URL

URL du site web. Sert à l'unification des profils utilisateurs.

user.profile.set.linkedInURL

URL

URL du profil LinkedIn. Sert à l'unification des profils utilisateurs.

user.profile.set.twitterUsername

string

Username du profil Twitter (sans le @). Sert à l'unification des profils utilisateurs.

user.profile.set.facebookUsername

string

Username du profil Facebook. Sert à l'unification des profils utilisateurs.

user.profile.set.facebookId

string

ID du profil Facebook. Sert à l'unification des profils utilisateurs.

user.profile.set.telephone

string

Numéro de téléphone.

user.profile.set.addressLine1

string

Adresse ligne 1.

user.profile.set.addressLine2

string

Adresse ligne 2.

user.profile.set.city

string

Ville.

user.profile.set.region

string

Région.

user.profile.set.postalCode

string

Code postal.

user.profile.set.state

string

État.

user.profile.set.country

string

Pays au format ISO (FR, US...)

user.profile.set.timezone

string

Fuseau horaire au format ISO (Europe/Paris...).

user.profile.set.latitude

number

Latitude.

user.profile.set.longitude

number

Longitude.

user.profile.unset

[]string

Liste des champs à supprimer.

user.profile.addTags

[]string

Liste des tags à ajouter.

user.profile.setTags

[]string

Remplace l'ensemble des tags du profil utilisateur.

user.profile.removeTags

[]string

Liste des tags à supprimer.

user.profile.addProperties

object

Map des propriétés custom à ajouter.

user.profile.setProperties

object

Remplace l'ensemble des propriétés custom du profil utilisateur.

user.profile.removeProperties

[]string

Liste des propriétés custom à supprimer.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxxx",
            "kind": "user",
            "user": {
                "externalId": "my_external_user_id",
                "isAuthenticated": true,
                "createdAt": "2021-03-20T13:47:28.020Z",
                "profile": {
                    "set": {
                        "signupAt": "2021-03-20T13:47:28.020Z",
                        "firstName": "John",
                        "lastName": "Doe",
                        "gender": "male",
                        "birthday": "1980-12-31",
                        "language": "en",
                        "photoURL": "https://website.com/photo.jpg",
                        "email": "johndoe@gmail.com",
                        "emailMd5": "29a1df4646cb3417c19994a59a3e022a",
                        "emailSha1": "e1e8d3e4a336d4f9dc63b70a534ff10834471556",
                        "emailSha256": "06a240d11cc201676da976f7b49341181fd180da37cbe40a77432c0a366c80c3",
                        "websiteURL": "https://johndoe-website.com",
                        "linkedInURL": "https://www.linkedin.com/in/johndoe/",
                        "twitterUsername": "johndoe",
                        "facebookUsername": "johndoe",
                        "facebookId": "712764000",
                        "telephone": "+1-541-754-3010",
                        "addressLine1": "1st Captain road",
                        "addressLine2": "2nd floor, unit 4",
                        "city": "New York City",
                        "region": "Long Island",
                        "state": "New York",
                        "country": "US",
                        "timezone": "America/New_York",
                        "latitude": 40.6643,
                        "longitude": -73.9385
                    },
                    "unset": ["photoURL", "birthday"],
                    "addTags": ["tag1", "tag2"],
                    "setTags": ["tag1", "tag2"],
                    "removeTags": ["tag1", "tag2"],
                    "addProperties": {
                        "my_string": "abc",
                        "my_number": 12.21,
                        "my_boolean": true,
                        "my_date": {
                            "$date": "2021-03-27T13:51:47.020Z",
                            "$timezone": "Europe/Paris"
                        },
                        "my_list": ["a", "b", "c"]
                    },
                    "setProperties": {
                        "my_string": "abc",
                        "my_number": 12.21,
                        "my_boolean": true,
                        "my_date": {
                            "$date": "2021-03-27T13:51:47.020Z",
                            "$timezone": "Europe/Paris"
                        },
                        "my_list": ["a", "b", "c"]
                    },
                    "removeProperties": ["my_string", "my_number"]
                }
            }
        }
    ]
}

Product

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "product".

product

object

✓

Objet contenant les datas.

product.externalId

string

✓

Product ID externe de votre base de donnée.

product.createdAt

datetime

✓

Date de création initiale du product dans votre base de donnée, au format ISO.

product.catalogId

string

✓

La valeur doit être "default".

product.title

string

✓

Nom du produit.

product.slug

string

✓

Slug du produit.

product.status

string

✓

Statut du produit: active, archived, draft

product.descriptionHtml

string

Fiche de description du produit au format HTML.

product.brand

string

Marque du produit.

product.publishedAt

datetime

Date de publication du produit.

product.tags

[]string

Liste de tags.

product.variants

product.images

product.coverExternalId

string

Image ID de l'image de couverture du produit.

product.updatedAt

datetime

Date de mise à jour du produit.

product.props

object

Map des propriétés custom du produit.

Product variant

Propriété

Type

Requis

Description

externalId

string

✓

Variant ID externe de votre base de donnée.

title

string

✓

Nom de la variante.

createdAt

datetime

✓

Date de création initiale de la variante dans votre base de donnée.

prices

upc

string

Universal Product Code.

sku

string

Single Key Unit.

taxable

boolean

Soumis à taxation.

position

int

Position de tri dans le catalogue.

allowBackorder

boolean

Autoriser la vente hors-stock.

stockLevel

int

Niveau du stock.

weight

number

Poids.

weightUnit

string

Unité de poids.

updatedAt

datetime

Date de modification de la variante dans votre base de donnée.

props

object

Map des propriétés custom de la variante.

Product price

Propriété

Type

Requis

Description

price

int

✓

Prix en centimes (ex: 10.15€ -> 1015)

priceCompare

int

Prix barré en centimes (ex: 10.15€ -> 1015). Utilisé lors des promotions.

Product image

Propriété

Type

Requis

Description

externalId

string

✓

Image ID externe de votre base de donnée.

url

URL

✓

URL de l'image.

width

int

✓

Largeur de l'image en px.

height

int

✓

Hauteur de l'image en px.

createdAt

datetime

✓

Date de création initiale de l'image dans votre base de donnée.

position

int

Position de tri dans le catalogue.

alt

string

Texte alternatif lors de l'affichage de l'image.

variantExternalIds

[]string

Liste des Variant ID auxquels l'image est rattachée.

updatedAt

datetime

Date de modification de l'image dans votre base de donnée.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxxx",
            "kind": "product",
            "product": {
                "externalId": "my_external_product_id",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "catalogId": "default",
                "title": "iPhone 15",
                "slug": "iphone-15",
                "status": "active",
                "descriptionHtml": "<p>Awesome description...</p>",
                "brand": "Apple",
                "publishedAt": "2021-03-20T13:47:28.020Z",
                "tags": ["phone", "5g"],
                "variants": [
                    {
                        "externalId": "my_external_product_variant1_id",
                        "title": "iPhone 15 Gold 512Go",
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "prices": {
                            "USD": {
                                "price": 200000,
                                "priceCompare": 250000
                            },
                            "EUR": {
                                "price": 160000,
                                "priceCompare": 200000
                            }
                        },
                        "upc": "xxxxx",
                        "sku": "zzzzz",
                        "taxable": true,
                        "position": 2,
                        "allowBackorder": false,
                        "stockLevel": 200,
                        "weight": 300,
                        "weightUnit": "gr",
                        "updatedAt": "2021-03-20T13:47:28.020Z",
                        "props": {
                            "color": "gold",
                            "capacity": "512go"
                        }
                    }
                ],
                "images": [
                    {
                        "externalId": "my_external_image1_id",
                        "url": "https://your-website.com/images/iphone15-gold",
                        "width": 500,
                        "height": 500,
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "position": 1,
                        "alt": "iPhone 15 Gold",
                        "variantExternalIds": ["my_external_product_variant1_id"],
                        "updatedAt": "2021-03-20T13:47:28.020Z"
                    }
                ],
                "coverExternalId": "my_external_image1_id",
                "updatedAt": "2021-03-20T13:47:28.020Z",
                "props": {
                    "screen": "retina",
                    "multiSim": true
                }
            }
        }
    ]
}

Order

Lorsque la commande est mise à jour (statut, panier...) dans votre logiciel eCommerce, vous pouvez l'importer à nouveau par webhook.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "order".

order

object

✓

Objet contenant les datas.

order.externalId

string

✓

Order ID externe de votre base de donnée.

order.externalUserId

string

✓

User ID externe de votre base de donnée.

order.userIsAuthenticated

boolean

✓

order.createdAt

datetime

✓

Date de création initiale de l'order dans votre base de donnée.

order.updatedAt

datetime

Date de modification de l'order dans votre base de donnée.

order.domainId

string

✓

Domain ID auquel l'order est rattaché.

order.country

string

Pays au format ISO (FR, US...).

order.conversionRuleId

string

✓

Conversion Rule ID auquel l'order est rattaché.

order.financialStatus

string

✓

Statut de paiement, la valeur doit être : pending, authorized, partially_paid, paid, partially_refunded, refunded, voided

order.currency

string

✓

Devise au format ISO (EUR, USD, GBP...).

order.revenue

int

Montant de la commande en centimes HT et avant frais de port.

Ex : 10.20€ -> 1020

order.totalTips

int

Montant total en centimes des pourboires.

order.totalTax

int

Montant total en centimes des taxes.

order.totalDiscounts

int

Montant total en centimes des réductions.

order.items

order.discounts

order.refunds

order.fulfillmentStatus

string

Statut de préparation de commande. La valeur doit être : fulfilled, partial, restocked

order.publicURL

URL

URL publique de la page de suivi de commande. Cette URL doit pouvoir être envoyée par SMS / Email pour améliorer l'expérience client.

order.closedAt

datetime

Date de clôture de la commande.

order.cancelledAt

datetime

Date d'annulation de la commande.

order.cancelReason

string

Raison d'annulation qui peut être transmise au client.

order.tags

[]string

Liste de tags.

order.props

object

Map des propriétés custom de la commande.

Order item

Propriété

Type

Requis

Description

externalId

string

✓

Item ID externe de votre base de donnée.

name

string

✓

Nom du produit.

sku

string

Single Key Unit.

brand

string

Nom de la marque.

category

string

Nom de la catégorie.

variantTitle

string

Nom de la variante.

imageURL

URL

URL de la photo du produit.

currency

string

Devise au format ISO (EUR, USD, GBP...).

price

int

Montant total en centimes avant application des réductions éventuelles.

quantity

int

Quantité.

props

object

Map des propriétés custom de l'item.

Order discount

Propriété

Type

Requis

Description

kind

string

✓

Mode de réduction, la valeur doit être : manual, script, discountCode

title

string

✓

Nom de la réduction.

valueType

string

✓

Type de réduction, la valeur doit être : fixedAmount , percentage

value

int

✓

Valeur de la réduction, en cents. Ex : 20€ -> 2000 et 5% -> 500.

code

string

requis si kind == discountCode

Code de réduction.

targetType

string

✓

Cible de la réduction, la valeur doit être : lineItem, shippingLine

targetSelection

string

✓

Lignes ciblées par la réduction, la valeur doit être :

  • all: la réduction s'applique sur toutes les lignes

  • entitled: la réduction s'applique uniquement sur toutes les lignes habilitées

  • explicit : la réduction s'applique sur toutes les lignes sélectionnées

allocationMethod

string

✓

Méthode d'allocation de la valeur de la réduction :

  • across : La valeur est répartie sur toutes les lignes autorisées.

  • each : La valeur est appliquée sur chaque ligne autorisée.

  • one : La valeur est appliquée sur une seule ligne.

Order refund

Propriété

Type

Requis

Description

externalId

string

✓

Refund ID externe de votre base de donnée.

items

✓

createdAt

datetime

✓

Date de création initiale du refund dans votre base de donnée.

updatedAt

datetime

Date de modification du refund dans votre base de donnée.

note

string

Description éventuelle.

Refund item

Propriété

Type

Requis

externalId

string

✓

Item ID externe de votre base de donnée.

quantity

int

✓

Quantité remboursée.

subtotal

int

✓

Montant total HT en centimes.

totalTax

int

Montant total des éventuelles taxes en centimes.

sku

string

Single Key Unit.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxx",
            "kind": "order",
            "order": {
                "externalId": "order1",
                "externalUserId": "user1",
                "userIsAuthenticated": true,
                "createdAt": "2021-03-20T13:47:28.020Z",
                "updatedAt": "2021-03-20T13:47:28.020Z",
                "domainId": "website-com",
                "conversionRuleId": "sales",
                "financialStatus": "paid",
                "currency": "USD",
                "revenue": 200000,
                "totalTips": 0,
                "totalTax": 40000,
                "totalDiscounts": 10000,
                "fulfillmentStatus": "fulfilled",
                "publicURL": "https://your-website.com/view-order?token=xxxxxxx",
                "closedAt": "2021-03-20T13:47:28.020Z",
                "cancelledAt": "2021-03-20T13:47:28.020Z",
                "cancelReason": "Customer cancelled",
                "tags": ["tag1", "tag2"],
                "props": {
                    "string": "abc",
                    "number": 12.13,
                    "bool": true
                },
                "items": [
                    {
                        "externalId": "iphone-15-gold",
                        "name": "iPhone 15",
                        "sku": "xxx",
                        "brand": "Apple",
                        "category": "Phone",
                        "variantTitle": "iPhone 15 Gold",
                        "imageURL": "https://your-website.com/images/iphone15.jpg",
                        "currency": "USD",
                        "price": 200000,
                        "quantity": 1,
                        "props": {"string": "abc", "number": 12.13, "bool": false}
                    }
                ],
                "discounts": [
                    {
                        "kind": "discountCode",
                        "title": "5% off all items",
                        "valueType": "percentage",
                        "value": 500,
                        "code": "HAPPY5",
                        "targetType": "lineItem",
                        "targetSelection": "all",
                        "allocationMethod": "each"
                    }
                ],
                "refunds": [
                    {
                        "externalId": "refund1",
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "updatedAt": "2021-03-20T13:47:28.020Z",
                        "note": "Refund processed by Paypal",
                        "items": [
                            {
                                "externalId": "iphone-15-gold",
                                "quantity": 1,
                                "subtotal": 200000,
                                "totalTax": 40000,
                                "sku": "xxx"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Event

Un event permet de tracker un événément important pour votre business, effectué par un user. Exemple : un formulaire remplis.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "event".

event

object

✓

Objet contenant les datas.

event.externalId

string

✓

Event ID externe.

event.createdAt

datetime

✓

Date de l'événement.

event.externalUserId

string

✓

User ID externe.

event.userIsAuthenticated

boolean

✓

event.domainId

string

✓

Domain ID auquel l'événement est rattaché.

event.label

string

✓

Nom de l'événement.

event.value

integer

Valeur de l'événement.

event.externalSessionId

string

Requis si event.nonInteractive n'est pas true

Session ID auquel l'événement est rattaché.

event.nonInteractive

boolean

Mettre à true si l'événement ne provient d'une interaction du user.

event.timezoneOffset

integer

Offset du fuseau horaire du user.

event.props

object

Map des propriétés custom de l'événement.

Lead

Un lead représente une opportunité (deal, contrat...) qui va changer d'état pour soit convertir ou soit être perdue.

Pour changer le stage (= état actuel) d'un lead il faut fournir une date createdAt plus récente que le dernier état connu pour un même identifiant externalId.

Propriété
Type
Requis
Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "lead".

lead

object

✓

Objet contenant les datas.

lead.externalId

string

✓

Lead ID externe.

lead.createdAt

datetime

✓

Date de changement d'état (= stageId) du lead.

lead.externalUserId

string

✓

User ID externe.

lead.userIsAuthenticated

boolean

✓

lead.domainId

string

✓

Domain ID auquel l'événement est rattaché.

lead.conversionRuleId

string

✓

Conversion Rule ID auquel l'order est rattaché.

lead.stageId

string

✓

Stage ID du lead à la date de createdAt.

lead.publicURL

string

URL publique qui peut être communiquée au client pour suivre l'avancement de son dossier.

lead.revenue

integer

Montant en centime du deal.

lead.currency

string

Devise du revenue au format ISO.

lead.tags

[]string

Liste de tags.

lead.props

object

Map des propriétés custom de l'événement.

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxx",
            "kind": "lead",
            "lead": {
                "externalId": "lead_1",
                "externalUserId": "user1",
                "userIsAuthenticated": true,
                "createdAt": "2021-03-21T13:47:28.020Z",
                "domainId": "website-com",
                "conversionRuleId": "leads",
                "stageId": "signed",
                "publicURL": "https://your-website.com/view-contract?id=xxx",
                "revenue": 10000,
                "currency": "EUR",
                "tags": ["vip", "car"],
                "props": {
                    "string": "abc",
                    "number": 12.13,
                    "bool": true
                }
            }
        }
    ]
}

Client

Un client représente un moyen d'accéder à votre service en ligne, ça peut être un navigateur web, une application native etc... Les interactions (sessions, pageviews, timeSpent...) doivent être rattachées à un client.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "client".

client

object

✓

Objet contenant les datas.

client.externalId

string

✓

Client ID externe.

client.createdAt

datetime

✓

Date de première visite du client au format ISO.

client.externalUserId

string

✓

User ID externe.

client.userIsAuthenticated

boolean

✓

client.userAgent

string

Requis si les propriétés os, platform & device sont manquantes.

User agent du navigateur web.

client.os

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, WindowsPhone, Windows, MacOSX, iOS, Android, Blackberry, ChromeOS, Kindle, WebOS, Linux, Playstation, Xbox, Nintendo, Bot

client.platform

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, Windows, Mac, Linux, iPad, iPhone, iPod, Blackberry, WindowsPhone, Playstation, Xbox, Nintendo, Bot

client.device

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, Computer, Tablet, Phone, Console, Wearable, TV

client.vendor

string

client.resolution

string

Taille d'écran au format largeurxhauteur. Ex: 1920x1080

client.resolutionAvailable

string

Taille d'écran disponible dans la fenêtre du navigateur au format largeurxhauteur. Ex: 1840x970

client.timezone

string

Fuseau horaire du client au format ISO (ex: Europe/Paris)

client.timezoneOffset

int

Décalage horaire du fuseau par rapport à UTC en minutes du navigateur web. (ex: -60), déterminé par new Date().getTimezoneOffset()

client.doNotTrack

string

Valeur du navigator.doNotTrack du navigateur web.

client.language

string

Langue au format ISO (en, fr, de...) du client.

client.languages

[]string

Liste des langues par ordre de préférence au format ISO. Ex: ["en", "fr"]

client.adBlock

boolean

Bloqueur de publicité activé.

Session

Les sessions permettent de regrouper les interactions utilisateurs (pageview, event, cart, order...) ayant eu lieu lors d'une même visite (web ou POS) et constitue une contribution au parcours de conversion lors de l'attribution des ventes.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "session".

session

objet

✓

Objet contenant les datas de la session.

session.externalId

string

✓

Session ID externe.

session.createdAt

datetime

✓

Date de création de la session au format ISO.

session.externalUserId

string

✓

User ID externe.

session.userIsAuthenticated

boolean

✓

session.domainId

string

✓

Domaine ID.

session.source

string

✓

Source du canal ayant généré la session (=utm_source).

session.medium

string

✓

Medium du canal ayant généré la session (=utm_medium).

session.externalClientId

string

session.timezoneOffset

integer

Offset du fuseau horaire du user.

session.campaignId

string

ID de la campagne ayant généré la session (=utm_campaign)

session.adId

string

ID de la publicité ayant généré la session (=utm_content)

session.keywordId

string

Mot clé ayant généré la session (=utm_term)

session.landingPage

string

URL de la page d'atterissage ayant généré la session, dans le cas d'une visite web.

session.referrer

string

URL de la page referrer ayant généré la session, dans le cas d'une visite web.

session.customDimension1

string

Dimension custom

Pageview

TimeSpent

Cart

WishList

Notification topics

Inscription

Propriété

Type

Requis

Description

id

string

✓

kind

string

✓

La valeur doit être subscribeToNotificationTopic

subscribeToNotificationTopic

objet

✓

Objet contenant les datas.

subscribeToNotificationTopic.externalUserId

string

✓

User ID externe de votre base de donnée.

subscribeToNotificationTopic.userIsAuthenticated

boolean

✓

subscribeToNotificationTopic.createdAt

datetime

✓

Date de création initiale de l'inscription dans votre base de donnée.

subscribeToNotificationTopic.notificationTopicId

string

✓

ID du topic de notification.

subscribeToNotificationTopic.channel

string

✓

Canal de communication: email ou sms

rsubscribeToNotificationTopic.recipient

string

✓

Adresse du destinataire. Email pour le canal email, et numéro de téléphone pour le canal sms.

subscribeToNotificationTopic.collectionItemExternalId

string

ID externe de l'item concerné si le topic de notification est de type collection. Exemple: ID du produit pour un topic "Alerte retour en stock".

subscribeToNotificationTopic.skipDoubleOptIn

boolean

true pour inscrire les utilisateurs au topic sans leur demander de confirmation.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "subscribe_user1_backinstock_email",
            "kind": "subscribeToNotificationTopic",
            "subscribeToNotificationTopic": {
                "externalUserId": "user1",
                "userIsAuthenticated": true",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "notificationTopicId": "productBackInStock",
                "collectionItemExternalId": "product-1",
                "channel": "email",
                "recipient": "john@doe.com",
                "skipDoubleOptIn": true
            }
        }
    ]
}

Désinscription

Propriété

Type

Requis

Description

id

string

✓

kind

string

✓

La valeur doit être unsubscribeFromNotificationTopic

unsubscribeFromNotificationTopic

objet

✓

Objet contenant les datas.

unsubscribeFromNotificationTopic.externalUserId

string

✓

User ID externe de votre base de donnée.

unsubscribeFromNotificationTopic.createdAt

datetime

✓

Date de création initiale de l'inscription dans votre base de donnée.

unsubscribeFromNotificationTopic.notificationTopicId

string

✓

ID du topic de notification.

unsubscribeFromNotificationTopic.channel

string

✓

Canal de communication à désinscrire: email ou sms

subscribeToNotificationTopic.collectionItemExternalId

string

ID externe de l'item concerné si le topic de notification est de type collection. Exemple: ID du produit pour un topic "Alerte retour en stock".

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "unsubscribe_user1_backinstock_email",
            "kind": "unsubscribeFromNotificationTopic",
            "unsubscribeFromNotificationTopic": {
                "externalUserId": "user1",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "notificationTopicId": "productBackInStock",
                "collectionItemExternalId": "product-1",
                "channel": "email"
            }
        }
    ]
}

Alias

Un alias permet de fusionner 2 users ensemble. Lors d'une fusion, tout l'historique (sessions, pageviews, events, orders...) du user source est copié vers le user de destination. Les propriétés du profil du user source manquantes dans le profil du user de destination sont également copiées.

Si de nouvelles données importées (anciennes ou futures) concernent le user source, elles seront alors automatiquement enregistrées pour le user de destination.

Il n'est pas possible de fusionner 2 users authentifiés (user.isAuthenticated == true) ensemble.

En général vous n'aurez jamais à utiliser cette fonction, l'Agent Web JS se charge de déclencher un alias automatiquement lorsqu'un internaute anonyme se connecte sur votre site.

De plus, lorsque 2 users possèdent une clé de réconciliation commune (email, emailMd5, emailSha1, emailSha256, websiteURL, linkedInURL, twitterUsername, facebookUsername, facebookId...), Captain Metrics va automatiquement les fusionner et créer un alias.

Propriété

Type

Requis

Description

id

string

✓

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

✓

La valeur doit être "alias".

alias

object

✓

Objet contenant les datas.

alias.externalUserId

string

✓

alias.toExternalUserId

string

✓

User ID externe du user de destination, qui survrivra à la fusion.

alias.toUserIsAuthenticated

boolean

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "alias_user1_user2",
            "kind": "alias",
            "alias": {
                "externalUserId": "user1",
                "toExternalUserId": "user2",
                "toUserIsAuthenticated": true
            }
        }
    ]
}
PrécédentFonctionnementSuivantRead API

Dernière mise à jour il y a 2 ans

Cet article vous a-t-il été utile ?

true si le User ID provient de votre .

Date au format ISO de la date d'inscription dans votre . Un utilisateur qui n'est pas authentifié (isAuthenticated == false) ne peut pas avoir de date signupAt.

[]

Liste de du produit.

[]

Liste d' du produit.

map[currency]

par devise. currency est au format ISO (EUR, USD, GBP...)

Un order représente une vente eCommerce, et doit être rattaché à une session pour que l'attribution multi-canal marketing soit possible. L' permet de collecter les orders via le navigateur de l'internaute et ainsi joindre le Session ID, Client ID etc... automatiquement.

Il est important de collecter les orders avec et l' pour pouvoir récupérer le contexte du navigateur web indispensable à l'attribution multi-canal, et par API/webhook pour synchroniser les changements des orders dans le temps.

true si le User ID provient de votre .

[]

Liste desdu panier.

[]

Liste des appliqués sur la commande.

[]

Liste des appliqués sur la commande.

[]

Liste des

true si le User ID provient de votre .

true si le User ID provient de votre .

A moins d'injecter les données de navigation web par API, l' se chargera de collecter les clients.

true si le User ID provient de votre .

Nom du du navigateur web. Calculé automatiquement d'après le userAgent.

true si le User ID provient de votre .

externe.

Vous pouvez inscrire et désinscrire vos utilisateurs des (ex: newsletter...).

true si le User ID provient de votre .

User ID externe du user "anonyme" (= ) à fusionner.

true si le User ID provient de votre . Si le champ n'est pas fourni et que le user de destination n'existe pas, la requête sera rejetée.

Agent Web JS
Agent Web JS
Agent Web JS
topics de notification
source de donnée principale
source de donnée principale
variant
variantes
image
images
price
Map des prix
source de donnée principale
item
produits
discount
discounts
refund
remboursements
refundItem
refundItems
source de donnée principale
source de donnée principale
source de donnée principale
vendor
source de donnée principale
Client ID
source de donnée principale
source de donnée secondaire
source de donnée principale