Store analytics et tracking omnicanal : mesurer pour progresser en performance client

Pourquoi un consultant en CRM va-t-il se frotter aux retailers ?

Ce 22 février, j’ai animé une table ronde consacrée aux store analytics dans le cadre de Digital Stores, un événement organisé par Journal du Net / CCM Benchmark. Participaient Isabelle Bordry – co-fondatrice de Retency et Cyril Grira – responsable de l’entité Big Box Retailers chez Google. Mais que diable un consultant en CRM, un cabinet de conseil en Relation Clients à distance va passer du temps avec les retailers ? La réponse tient en trois convictions :

  1. Le « no canal ». Un mot emprunté à Renaud Montin – Directeur marketing de Eram. Un mot pour dire que le client vit sa relation à la marque, à l’enseigne en traversant les canaux. Il interagit avec une entreprise, pas avec tel ou tel canal.
  2. La collecte universelle de données. Tous les moments du Parcours Clients sont au service d’une meilleure compréhension de ses interactions avec l’enseigne. La collecte et l’exploitation de données à toutes les phases, dans tous les canaux est en route. Elle est au service de la Relation Clients dont un vecteur clef est le CRM.
  3. L’extension du périmètre du CRM. Multiplication des canaux de dialogue, extension des phases du Parcours Clients sur lesquelles il est possible d’interagir grâce à la collecte de données… la gestion de la Relation Clients voit son périmètre s’étendre.
conférence store analytics à l'occasion de la journée Digital Stores de CCM Benchmark

Isabelle Bordry – Retency, Cyril Grira – Google et Antoine Coubray – CustUp vulgarisent les store analytics.

L’arrivée des store analytics renforce donc nos convictions. Voici 5 questions / réponses pour mieux qualifier cette pratique du tracking omnicanal.

Au titre des store analytics, quelles sont les données collectées ?

Retency collecte les données en magasin :

  • Des parcours anonymes,
  • De la circulation entre rayons, entre étages,
  • Des temps de circulation,
  • Des flux pour aboutir au passage en caisse,
  •  …/…

La mission de Retency : aider les marchands à être aussi pertinents que les acteurs du online. « La boutique doit être un avantage concurrentiel et pas un poids ! ». « Les opérateurs de magasins doivent aller plus loin que la simple caisse comme élément de suivi de leur performance ».

Dans le cas de Google, la finalité est connue : générer du trafic en magasin sur la base du trafic online, mesurer et piloter l’impact du online sur le offline pour commercialiser « l’offre publicitaire Google ». Google propose donc de faire le lien entre les données du online – venues de son écosystème et de fournisseurs tiers – et le magasin – grâce aux données de caisse et du CRM – pour unifier le Parcours Clients. On ne peut alors parler de solution de tracking en magasin, mais plutôt d’une offre de construction d’une vision consolidée de la circulation du client entre les canaux.

Comment la collecte est-elle effectuée en magasin ?

Retency propose des boîtiers, sur lesquels on peut détecter et brancher ce qu’on veut : radiofréquences, RFID, caméras, capteurs GPS associés à des émetteurs sur les chariots de courses pour en suivre les mouvements en temps réel… Les boîtiers sont annoncés par Isabelle Bordry comme simples d’installation : « en une heure et demie, vous couvrez 6000 ou 7000 mètres carrés ».

À quoi servent les store analytics en magasin ?

Une fois les données collectées, comme en online, les données sont traitées et restituées via un back office de type Google Analytics. Les comportements – les entrées, les durées par zones dans le magasin, les mouvements entre rayons, les sorties – sont agrégés et intégrés dans la plateforme de reporting. Pour quoi faire ?

Schématiquement, il s’agit de mieux gérer les flux de clients dans le magasin, d’informer les clients pendant la visite et d’optimiser leur parcours vers la caisse. Concrètement :

  • C&A optimise ses campagnes mobiles.
  • Klepierre déploie des pop’up stores aux bons endroits de ses centres commerciaux.
  • Tollens calcule l’attractivité de ses corners dans les centres commerciaux.
  • Leroy Merlin analyse ses flux sur le magasin et organise ses équipes dans le magasin en fonction des mouvements des clients.
  • Chez d’autres, sur base d’une reconnaissance RFID via la carte de fidélité ou le mobile, le client est reconnu. Son accueil peut être optimisé par les vendeurs.
  • D’autres distributeurs ajustent l’ouverture de lignes de caisse en fonction des flux de clients dans le magasin.

À quoi servent les store analytics hors du magasin ?

Comme pour le travail en magasin, voici quelques exemples d’application.

Dans sa recherche de développement d’une continuité du Parcours Clients, Google joue sur le croisement des données entre online et offline. Ce croisement, opéré via des solutions de type Google 360, permettra :

  • De travailler sur la fidélisation : création et personnalisation du trafic en fonction de l’historique de relation online – dans et hors le site du distributeur – avant et après la visite en magasin.
  • De travailler sur la création de trafic, la conquête, en créant des profils dits « jumeaux », à partir des données du distributeur et en ciblant les audiences correspondantes via ses solutions publicitaires.

Dans le cas de Retency, la collaboration avec les régies mobiles MobValue et Mobile Network Group permet de :

  • Mesurer l’efficacité des campagnes de géolocalisation par le comptage des identifiants mobiles passés en magasin.
  • Recibler les utilisateurs acceptant la géolocalisation a posteriori de leur passage en magasin.

Combien coûte la mise en place d’une solution de store analytics ?

Les boîtiers et l’accès à l’interface d’analyse sont facturés sous forme de de forfait par magasin :

  • 160 € par mois pour un petit magasin,
  • 1 000 € par mois pour une surface de 7 à 8000 m2.

Le regard de CustUp sur les store analytics

Le tracking omnicanal est une opportunité pour les distributeurs afin de renforcer leur Relation Clients. Grâce à ces pratiques, la pensée ROIste au client peut être développée. La pression et l’alignement des opérations commerciales est possible. L’élargissement du périmètre du CRM prend encore plus d’ampleur.

Comme pour les analytics digitaux, les store analytics sont orientés sur la compréhension des flux et des comportements en magasin. Avec le temps, et grâce à différentes techniques d’enrichissement, ils permettront l’individualisation de la Relation Clients. Tous les analytics sont les partenaires du CRM. Nous nous en félicitons.

Partager :
Antoine Coubray a animé cette table ronde sur les Store Analytics. Directeur du développement de CustUp, il organise l’équipe de

Antoine Coubray a animé cette table ronde sur les Store Analytics. Directeur du développement de CustUp, il organise l’équipe de consultants CRM pour mettre en œuvre des dispositifs de Relation Clients véritablement omnicanaux.

[custup_nom_silo]
[custup_form_optinmonster]
[custup_form_optinmonster]
[custup_form_blog_inline_optinmonster]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#dj_envoyer_inscription-CgY16', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var email = jQuery('#dj_form_optinmonster-CgY16 input[name="email"]').val(); var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-CgY16 .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CgY16 .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-CgY16 .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-CgY16 .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CgY16 .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-CgY16 .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-CgY16 .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CgY16 .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-CgY16 .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Inline", "eventAction": "clic", "eventLabel": "https://www.custup.com/store-analytics-conference/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-CgY16" class="form_inline"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-7 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control form-inline" type="text" id="dj_email" name="email" placeholder="E-mail" /> </div> <div class="col-md-5 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-CgY16" class="dj_envoyer_inscription" type="submit">Je m'abonne !</button> </div> </div>
[le Nom du Silo]
[le Nom du Silo]
[custup_icon]
<img src="https://www.custup.com/wp-content/themes/custup/public/img/icon.png" alt="Merci pour votre visite" class="skip-lazy" width="28" height="27"/>
[custup_form_exit]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; var email = ""; jQuery(document).delegate( '#email56heV', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-exit-56heV', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "exit", 1 ); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-exit-56heV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-56heV .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-exit-56heV .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-exit-56heV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-56heV .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-exit-56heV .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-exit-56heV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-56heV .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-exit-56heV .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Exit", "eventAction": "clic", "eventLabel": "https://www.custup.com/store-analytics-conference/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-exit-56heV" class="form_inline popin-exit"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="email56heV" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-exit-56heV" class="dj_envoyer_inscription" type="submit">S'inscrire !</button> </div> </div>
[custup_scroll_nom_silo]
[custup_form_silo_scroll_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#email5Zk7P', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-5Zk7P', 'click', function(e){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "id_article", 4145); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-5Zk7P .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-5Zk7P .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-5Zk7P .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-5Zk7P .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-5Zk7P .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-5Zk7P .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-5Zk7P .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-5Zk7P .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-5Zk7P .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Silo-XXX-Scroll", "eventAction": "clic", "eventLabel": "https://www.custup.com/store-analytics-conference/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-5Zk7P"> <form> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="email5Zk7P" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-5Zk7P" class="dj_envoyer_inscription" value="xx" type="submit">S'inscrire</button> </div> </form> </div>
[custup_count_abonnes_liste_mailchimp]
4135
[custup_form_horizontal_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#emaillFHJJ', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-lFHJJ', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-primary").css('display', 'block'); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-danger span").html(result.alerte); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-success span").html(result.message); jQuery("#dj_form_horizontal_optinmonster-lFHJJ .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Floating-Bar", "eventAction": "clic", "eventLabel": "https://www.custup.com/store-analytics-conference/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_horizontal_optinmonster-lFHJJ" class="dj_form_horizontal_optinmonster"> <input type="hidden" name="recaptcha_response" value=""> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group dj_email_content"> <input class="form-control" type="text" id="emaillFHJJ" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group text-center dj_email_envoyer"> <button id="dj_envoyer_inscription-lFHJJ" class="dj_envoyer_inscription" type="submit">Valider</button> </div> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> </div>