Skip to main content
Skip table of contents

Enrichissements

Définition générale

Les Enrichissements sont des tableaux contenant des propriétés alimentant Piano Analytics.
Ils se composent d'une propriété utilisée en tant que clé et de propriétés associées qui peuvent être alimentées par des valeurs spécifiques dès qu'une clé est détectée dans les données.

 

Exemple

product_id (as a key)

product_name

product_price

product_brand

123456

keyboard

159

kayaii

654321

flute

20

yamaga

Si la donnée envoyée dans les hits contient le product_id:123456, vous serez en mesure de requêter les autres propriétés et obtenir les valeurs correspondantes pour cet identifiant via les autres colonnes de votre enrichissement.

 

Accès

Droits

Les Enrichissements ne peuvent être définis et édités que par les utilisateurs suivants :

  • Administrateurs

  • Data Supervisors

 

Localisation

Vous pouvez accéder aux Enrichissements en vous rendant dans Data Management > Enrichment (menu latéral gauche).

 

Tableau de bord

Dès que votre organisation dispose au moins d'un enrichissement, vous verrez la liste des enrichissements depuis le tableau de bord dédié.

Ici, vous trouverez pour chaque enrichissement :

  • Le nom de l'enrichissement

  • La catégorie de template utilisée

  • La propriété utilisée en tant que clé de l'enrichissement

  • La date de création de l'enrichissement

  • Le statut de la dernière mise à jour par API

  • Le statut de la dernière mise à jour par CSV

  • La configuration rétroactive (sur les imports Retroactive et Retroactive (former))

 

Types d'enrichissements

Les enrichissements sont toujours composés d'une structure 1 propriété clé / x propriétés associées.
Ces propriétés associées peuvent varier en fonction du type d'enrichissement.

Portée

Les propriétés associées doivent être du même portée (visite, page vue ou événement que le propriété clé.

 

Le type d'enrichissement correspond également à une alimentation spécifique des propriétés associées.

 

Standard

Définition

L'enrichissement Standard permet d'alimenter des propriétés Piano et des propriétés personnalisées. 
Les valeurs renseignées dans les propriétés associées pour une clé alimentent les propriétés associées pour tout nouvel événement (validé) reçu une fois la valeur de la clé et de la/les propriété(s) associée(s) configurée dans l'import.
En cas d'absence de valeur de propriété associée pour une valeur de clé renseignée, la propriété peut s'alimenter avec le contenu d'un tag parameter collecté dans un hit.

Note

Les Enrichissements ne sont disponibles que si au moins un des contrats de votre organisation dispose de l'option Enrichissements standard activée.
Pour bénéficier de l'option, nous vous invitons à contacter notre centre support.

 

Retroactive

Définition

L'enrichissement Retroactive permet d'alimenter des propriétés personnalisées dédiées.
Les valeurs renseignées par import dans l'enrichissement seront appliquées à tout événement validé (passé/présent/futur).
Ces propriétés associées seront alimentées seulement par les valeurs renseignées dans l'import (elles ne pourront être alimentées par les hits dans le cas où la ligne de l'import serait vide).

Note

Les Enrichissements ne sont disponibles que si au moins un des contrats de votre organisation dispose des Enrichissements standard et rétroactifs activés.
Pour bénéficier des options, nous vous invitons à contacter notre centre support.

 

Retroactive (former)

Définition

L'enrichissement Retroactive (former) permet d'alimenter des propriétés Piano et des propriétés personnalisées. 
Les valeurs renseignées dans les propriétés associées pour une clé alimentent les propriétés associées pour tout événement validé (passé/présent/futur) reçu une fois la valeur de la clé et de la/les propriété(s) associée(s) configurée dans l'import.
En cas d'absence de valeur de propriété associée pour une valeur de clé renseignée, la propriété peut s'alimenter avec le contenu d'un tag parameter collecté dans un hit.

Note

Les Enrichissements ne sont disponibles que si au moins un des contrats de votre organisation dispose des Enrichissements standard et rétroactifs activés.
Pour bénéficier des options, nous vous invitons à contacter notre centre support.

Note

Ce type d'enrichissement ne peut plus être créé hors utilisation de l'enrichissement Standard > Template E-Commerce > transaction_id (mise à jour de commande).
Les enrichissements de ce type mis en place par le passé sont maintenus et accessibles à l'édition.

 

Création

Dans Data Management > Enrichment, vous pouvez cliquer sur le bouton "Créer un enrichissement".

Si vous disposez de l'option Enrichissement rétroactif, alors vous pourrez choisir le type d'enrichissement que vous souhaitez mettre en place.

Si vous disposez uniquement de l'option Enrichissement standard, vous serez dirigé directement vers le formulaire de création d'Enrichissement standard.

 

Création d'Enrichissement Standard

Vous aurez besoin de renseigner la configuration listée ci-dessous.

 

Nom

Le nom affiché dans le tableau de bord d'enrichissements.

 

Template

3 catégories de templates sont actuellement disponibles pour créer votre enrichissement:

Template

Clé

Utilisation

CRM

user_id

Pour restituer sa base utilisateur sans passer par le tag.

E-Commerce

product_id

Pour transmettre son catalogue produit aux analyses.

E-Commerce

transaction_id

Pour mettre à jour les commandes sur le site (accessible uniquement aux clients disposant de l'option Enrichissements Retroactif).

AV Insights

av_content_id

Pour transmettre son catalogue de contenu AV aux analyses.

Any ID

au choix

Pour alimenter les propriétés Piano et personnalisées sans passer par le tag depuis une propriété de votre choix.*

 

  • Les propriétés disponibles dans le cadre d'un enrichissement utilisant le template AnyID doivent répondre aux critères suivants :

  • Type de propriété : STRING / INTEGER

  • Traitement de la propriété : Processée

  • Statut de la propriété : Validée

  • La propriété ne fait pas partie de la liste suivante : event_id, visit_id, visitor_id, rm_session_id, av_session_id, app_sessionid

Les templates ou une propriétés clé grisées dans les listes, représentent ceux déjà utilisés dans un autre enrichissement et par conséquent non disponibles.

 

Clé sensible à la casse

Vous pouvez choisir de distinguer les clés dans votre enrichissement entre les versions majuscule et minuscule.

Exemple

Si vous sélectionnez Oui, vous aurez deux clés pour des valeurs comme mykey and MyKey, en choisissant Non vous n'auriez qu'une clé.

 

Alertes

Dans le cas d'une erreur API à l'import de données, nous pouvons vous notifier par e-mail de cette erreur aux e-mails que vous auriez renseigné dans le champ dédié.
Ce champ dispose d'une liste pour vous aider à choisir un utilisateur de votre organisation, vous pouvez également renseigner une adresse e-mail non associée à un compte Piano Analytics.

 

Structure

Une fois les paramètres précédents renseignés, vous pouvez cliquer sur le bouton Suivant et voir les propriétés que vous pouvez utiliser en tant que colonnes.

Dans la table Colonnes, vous trouverez toutes les propriétés proposées par le template que vous avez sélectionné.
La première ligne représente la propriété utilisée en tant que clé qui ne peut être changée ou supprimée.
Les autres lignes peuvent être supprimées en cliquant sur l'icône corbeille à la fin de la ligne.

Vous pouvez également ajouter d'autre colonnes en les sélectionnant depuis la liste Sélectionner une propriété.

Dans cette liste de propriétés vous trouverez des propriétés correspondant à tous ces critères :

  • Statut de la propriété : Validée

  • Traitement de la propriété : Processée

  • ReadOnly : Non (l'édition des règles de la propriété est disponible)

  • Utilisation dans un autre enrichissement : Aucun (actuellement ou précédemment)

  • Certaines propriétés sont interdites, même si elles rencontrent ces critères, vous pouvez consulter la liste de propriétés standards interdite ci-dessous

Propriétés restreintes

 

Property Key

Property Type

Property Name

app_fsmn

INTEGER

App - First session month number

app_fsw

INTEGER

App - First session week

app_fswd

STRING

App - First session weekday

app_fswdn

INTEGER

App - First session weekday number

app_fswy

INTEGER

App - First session year of week

app_fsy

INTEGER

App - Year of first session

app_sessionid

STRING

App - Session ID

app_visitor_status

STRING

App - Visitor status

av_buffer_total_duration

INTEGER

AV Session - Buffering time

av_content_duration

INTEGER

AV Content - Duration

av_content_genre

ARRAY_STRING

AV Content - Genre

av_content_time_consumed

INTEGER

AV Session - Duration of content consumed

av_location

STRING

AV Content - Location

av_playback_completion_rate

DECIMAL

AV Session - Completion rate

av_playback_total_duration

INTEGER

AV Session - Playback time

av_position

INTEGER

AV - Cursor position

av_rebuffer_total_duration

INTEGER

AV Session - Rebuffering time

av_session_backward

BOOLEAN

AV Session - Backward movement

av_session_bounce

BOOLEAN

AV Bounced session

av_session_buffering

BOOLEAN

AV Session - With buffering

av_session_content_duration

INTEGER

AV Session - Content duration

av_session_error

BOOLEAN

AV Session - With error

av_session_forward

BOOLEAN

AV Session - Forward movement

av_session_last_event

STRING

AV Session - Last event

av_session_rebuffering

BOOLEAN

AV Session - With rebuffering

av_session_time

DATE

AV Session - Start time

av_session_time_utc

DATE

AV Session - Start time (UTC)

browser

STRING

Browser

browser_cookie_acceptance

BOOLEAN

Cookie accepted?

browser_group

STRING

Browser - Group

browser_language

STRING

Browser - Language

browser_language_local

STRING

Browser local language

browser_version

STRING

Browser - Version

cart_id

STRING

Cart ID

cart_lifetime

INTEGER

Cart lifetime

click_full_name

STRING

Click - with levels

connection_isp

STRING

ISP

connection_organisation

STRING

Connection organisation

date

DATE

Date

date_day

STRING

Weekday

date_daynumber

INTEGER

Day number

date_month

STRING

Month

date_monthnumber

INTEGER

Month number

date_week

INTEGER

Week

date_year

INTEGER

Year

date_yearofweek

INTEGER

Year (week)

device_brand

STRING

Device - Brand

device_display_height

INTEGER

Window height

device_display_width

INTEGER

Window width

device_hour

INTEGER

Device hour

device_name

STRING

Device - Marketing name

device_name_tech

STRING

Device - Technical name

device_screen_diagonal

DECIMAL

Screen diagonal (inch)

device_screen_height

INTEGER

Screen height

device_screen_width

INTEGER

Screen width

device_type

STRING

Device - Type

event_collection_platform

STRING

Collection platform

event_collection_version

STRING

Collection tag version

event_hour

INTEGER

Hour

event_id

STRING

Event ID

event_minute

INTEGER

Minute

event_name

STRING

Event

event_position

INTEGER

Event position

event_second

INTEGER

Second

event_time

DATE

Event timestamp

event_time_utc

DATE

Event timestamp (UTC)

event_url

STRING

URL event

event_url_domain

STRING

Domain event

exclusion_cause

STRING

Exclusion cause

exclusion_type

STRING

Exclusion type

geo_city

STRING

City

geo_continent

STRING

Continent

geo_country

STRING

Country

geo_latitude

DECIMAL

Latitude

geo_longitude

DECIMAL

Longitude

geo_metro

STRING

Sub-region

geo_region

STRING

Region

hit_time_utc

DATE

Event collected time(UTC)

ise_result

STRING

Internal search - Result

os

STRING

OS

os_group

STRING

OS - Group

os_version

STRING

OS version

os_version_name

STRING

OS version (marketing name)

page_customcat1_id

STRING

Page category ID - 1st level

page_customcat2_id

STRING

Page category ID - 2nd level

page_customcat3_id

STRING

Page category ID - 3rd level

page_duration

INTEGER

Inter-pages duration

page_full_name

STRING

Page - with levels

page_position

INTEGER

Page - Position

privacy_status

STRING

Privacy status

product_promocode

ARRAY_STRING

Promotion code (product)

site

STRING

Site

site_env

STRING

Site environment

site_id

INTEGER

Site ID

site_level2_id

INTEGER

Level 2 site ID

site_platform

STRING

Site platform

src

STRING

Source

src_aff_identifier_id

INTEGER

Affiliate ID

src_aff_type_id

INTEGER

Affiliate type ID

src_campaign_ad

STRING

Ad - Campaign

src_campaign_aff

STRING

Affiliation - Campaign

src_campaign_deprecated

STRING

Source - Campaign (full name)

src_campaign_email

STRING

Emailing - Campaign

src_campaign_id

INTEGER

Source campaign ID

src_campaign_rss

STRING

RSS campaign

src_campaign_sl

STRING

SEA - Campaign

src_creation_id

INTEGER

Creation source ID

src_detail

STRING

Source - Detail

src_direct_access

STRING

Direct access

src_email_link_id

INTEGER

Email clicked link ID

src_email_recipient_id

INTEGER

Emailing recipient ID

src_email_recipient_list_id

INTEGER

Email recipient list ID

src_email_type

STRING

Email - Type

src_organic

STRING

Previous URL - Category

src_organic_detail

STRING

Previous URL - Detail

src_portal_domain

STRING

Portal site - Domain

src_portal_site

STRING

Portal site

src_portal_site_id

INTEGER

Portal site - ID

src_portal_url

STRING

Portal site - URL

src_referrer_site_domain

STRING

Referrer site - Domain

src_referrer_site_url

STRING

Referrer - URL

src_referrer_url

STRING

Source - URL

src_se

STRING

Search engine

src_se_category

STRING

Search engine - Category

src_se_country

STRING

Search engine - Location

src_sl_network_id

INTEGER

SEM network ID

src_sl_platform

STRING

SEA - Platform

src_sl_platform_id

INTEGER

SEM platform ID

src_social_networks

STRING

Social network

src_type

STRING

Campaign / Organic

src_url

STRING

Previous URL

src_url_domain

STRING

Previous URL - Domain

src_variant_id

INTEGER

Source variant ID

src_webmail

STRING

Webmail

transaction_date

DATE

Transaction date

transaction_id

STRING

Transaction ID

transaction_promocode

ARRAY_STRING

Promotion code (transaction)

user_recognition

BOOLEAN

User recognised?

visit_bounce

BOOLEAN

Bounce visit?

visit_converted

BOOLEAN

Visit converted?

visit_duration

INTEGER

Visit duration

visit_entry_aisle1

STRING

Entry aisle - 1st level

visit_entry_aisle2

STRING

Entry aisle - 2nd level

visit_entry_aisle3

STRING

Entry aisle - 3rd level

visit_entry_aisle4

STRING

Entry aisle - 4th level

visit_entry_aisle5

STRING

Entry aisle - 5th level

visit_entry_aisle6

STRING

Entry aisle - 6th level

visit_entry_site_level2

STRING

Entry level 2 site

visit_entrypage

STRING

Entry page

visit_entrypage_chapter1

STRING

Entry page - 1st level

visit_entrypage_chapter2

STRING

Entry page - 2nd level

visit_entrypage_chapter3

STRING

Entry page - 3rd level

visit_entrypage_full_name

STRING

Entry page - with levels

visit_exit_site_level2

STRING

Exit level 2 site

visit_exitpage

STRING

Exit page

visit_exitpage_chapter1

STRING

Exit page - 1st level

visit_exitpage_chapter2

STRING

Exit page - 2nd level

visit_exitpage_chapter3

STRING

Exit page - 3rd level

visit_exitpage_full_name

STRING

Exit page - Full name

visit_hour

INTEGER

Visit start - Hour

visit_id

STRING

Visit ID

visit_implication_degree

INTEGER

Implication degree (visit)

visit_minute

INTEGER

Visit start - Minute

visit_page_views

INTEGER

Page views (visit)

visit_sales

DECIMAL

Turnover (visit)

visit_second

INTEGER

Visit start - Second

visit_time

DATE

Visit start - Date

visitor_id

STRING

Visitor ID

visitor_privacy_consent

BOOLEAN

Visitor consent

visitor_privacy_mode

STRING

Visitor mode

Création d'Enrichissement Rétroactif

Vous aurez besoin de renseigner la configuration listée ci-dessous.

 

Nom

Le nom affiché dans le tableau de bord d'enrichissements.

 

Clé

La clé désigne la propriété consultée par notre système d'enrichissement, une fois sa valeur remontée dans un hit, les propriétés associées seront complétées selon les données que vous importerez.

Vous pouvez choisir en clé toute propriété qui réponde à ces critères.

  • Type de propriété : STRING / INTEGER

  • Traitement de la propriété : Processée

  • Statut de la propriété : Validée

  • La propriété ne fait pas partie de la liste suivante :


event_id, visit_id, visitor_id, rm_session_id, av_session_id, app_sessionid

 

Clé sensible à la casse

Vous pouvez choisir de distinguer les clés dans votre enrichissement entre les versions majuscule et minuscule.

Exemple

Si vous sélectionnez Oui, vous aurez deux clés pour des valeurs comme mykey and MyKey, en choisissant Non vous n'auriez qu'une clé.

 

Alertes

Dans le cas d'une erreur API à l'import de données, nous pouvons vous notifier par e-mail de cette erreur aux e-mails que vous auriez renseigné dans le champ dédié.
Ce champ dispose d'une liste pour vous aider à choisir un utilisateur de votre organisation, vous pouvez également renseigner une adresse e-mail non associée à un compte Piano Analytics.

 

Structure

Une fois les paramètres précédents renseignés, vous pouvez cliquer sur le bouton Suivant et créer les propriétés associées de cet import.

Vous disposez de 3 paramètres pour créer ces propriétés associées :

  • Nom : libellé d'affichage de la propriété dans les interfaces

  • Type : format de la propriété au choix (string/integer/data/boolean/decimal/array string)

  • Property key : la clé de propriété qui sera utilisée dans le processing et les appels API

Pour tout ajout de nouvelle propriété, vous devrez renseigner les 3 paramètres et la valider avec le bouton dédié en fin de ligne. Vous pouvez également annuler la création de propriété avec l'icône croix en fin de ligne tant que la structure de l'import n'a pas été sauvegardée.

Une fois vos propriétés renseignées, vous pouvez cliquer sur le bouton de sauvegarde en bas de page.

 

Importer des données

Une fois la configuration de votre enrichissement définie, vous pouvez importer les données de votre table d'enrichissement.
Pour cela, vous pouvez vous appuyer sur 3 méthodes d'imports différentes.

 

API

Pour utiliser l'API afin de gérer les imports, il est important de suivre plusieurs règles :

  • Méthode POST obligatoire

  • Présence du header x-api-key 

  • Le body JSON doit être correctement formatté

  • Des vérifications sont faites sur les paramètres de l'appel :

  • {codeOrga} : présent et en majuscule

  • {importId} : présent

Vous pouvez lire notre article dédié sur la récupération d'une API key permettant l'utilisation de l'API.

Une fois votre API key récupérée, vous pouvez vous rendre dans l'interface d'enrichissement, puis sur l'onglet Importer des données. Vous y trouverez les informations requises à l'utilisation de l'API avec un exemple. L'import par API fonctionnant par clé, cette méthode ne permet d'importer les données que pour une clé par appel.

sFTP

Vous pouvez également vous appuyer sur notre sFTP pour importer des fichiers volumineux avec la configuration détaillée de l'import :

  • Host

  • Login

  • Public key

  • Folder

Pour créer votre clé sFTP key veuillez vous référer à cette documentation, mais n'hésitez pas à vous rapprocher de vos équipes techniques.

Le moteur d'import ne validera que les fichiers .csv ou .csv.gz.
Vous devriez également télécharger ou copier le header pour vous assurer de vous appuyer sur le format attendu.

CSV

En utilisant un fichier CSV, il est important de suivre certaines règles :

  • Le séparateur utilisé est la virgule

  • La taille de l'import ne peut dépasser 10Mb

Vous devriez également télécharger le header pour vous assurer de vous appuyer sur le format attendu.

Note

Pour vous assurer que le format du fichier ou son encodage ne soit pas altéré, nous vous invitons à éditer le fichier csv que nous fournissons depuis un éditeur de texte neutre (pas Excel).

Lequel utiliser ?

Complexité technique

Taille de fichier

Fréquence

Méthode d'import

Facile

Léger (<10Mb)

Ponctuel

CSV

Moyenne

5Gb

Ponctuel

sFTP

Moyenne

1 clé par appel API

Fréquent

API

Résumé

Une fois l'import de données complété, vous pouvez retrouver un résumé des dernières lignes importées dans l'onglet Reporting.

Dans cet onglet, vous trouverez :

  • Le nombre de lignes de votre enrichissement

  • Le statut de votre dernier import API

  • Le statut de votre dernier import CSV

  • L'historique de vos imports CSV avec le statut de chaque import

  • Une vue rapide des données présentes, basée sur les dernières données importées

Edition

Configuration

Vous pouvez mettre à jour votre enrichissement en cliquant dessus ou sur l'icône crayon depuis le tableau de bord des enrichissements.
Ci-dessous, vous retrouverez une vue détaillée des possibilités d'éditions d'un enrichissement.

Paramètre

Nom

Template

Sensible à la casse

Alertes

Structure

Edition permise

Oui

Non

Non

Oui

Oui

Détails

 

La clé ne peut être changée.

Le réglage ne peut être changé.

 

Les propriétés utilisées une fois dans un enrichissement rétroactif ne peuvent pas être retirées des colonnes.

Mise à jour de données

Il est possible de mettre à jour les données à tout moment en ajoutant de nouvelles clés.
Vous pouvez également mettre à jour les valeurs associées à une clé déjà renseignée.

Changer les données associées

La valeur associée à une propriété peut être mise à jour en important une ligne dans votre table avec toutes les colonnes correspondantes renseignées et complétées (pas d'envoi partiel). Si vous mettez à jour la valeur associée, les nouveaux événements avec la clé seront enrichis pour les propriétés associées, mais pas les anciens événements (sauf si l'import est rétroactif comme décrit plus tôt dans cet article). 

Vider les données associées

Vous souhaiterez potentiellement supprimer une valeur associée à une clé pour une colonne spécifique de votre enrichissement.
S'il n'est pas possible de supprimer les données historiques, vous pouvez vous assurer que les nouveaux événements associés à une clé n'enrichissent plus une colonne et ce via différentes méthodes.

API

Si la propriété n'est pas dans l'appel API <DATA>, la valeur de l'enrichissement n'est pas modifiée. 
Si elle était vide, elle reste vide.
Si elle était complétée la valeur enregistrée ne change pas.

Exemple 

Si vous ne souhaitez pas spécifier l'e-mail pourtant présent dans la structure de l'import.

CODE
{ 
  "user_id": "12345", 
  "age": 35 
} 

Pour forcer la suppression de la valeur associée, vous devrez spécifier « null » 

CODE
{ 
  "user_id": "12345", 
  "email": null, 
  "age": 35 
} 

CSV

La ligne importée dans le CSV sera utilisée. Si une valeur est vide dans le CSV et que l'enrichissement n'avait pas de valeur associée pour cette clé, alors la valeur associée sera vidée.

Exemple 

Dans l'import nous avons

user_id 

Email 

age 

12345 

myEmail@mail.com 

35 

On importe le fichier correspondant à cette structure

user_id 

email 

age 

12345 

 

35 

Après import, la clé retournera ces valeurs dans les analyses (pour les nouvelles occurrences de la clé).

user_id 

email 

age 

12345 

 

35 

 Suppression

Un enrichissement ne peut être supprimé. Si vous ne voulez pas enrichir de propriété malgré cela, vous pouvez mettre à jour votre enrichissement pour vider les valeurs associées aux clés.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.