juil 28

Faire remonter la taille d’un individu dans Google Analytics

Un grand merci à la communauté http://stackoverflow.com/ ainsi qu’à Jean-Baptiste à qui je dédie cet article, certes très expérimental mais qui me donne déjà plein d’idées, bonne lecture :)

Je pense que la plupart d’entre vous ont entendu parler des objets connectés mais se sentent encore peu concernés. Le but de cet article est de faire prendre conscience que les objets connectés vont probablement dégommés tout sur leur passage et que l’on va connaitre un nouvel ouragan tel le début des années 2000. Dans cet article l’idée est de vous montrer qu’il est simple de pouvoir remonter la taille d’un individu dans Google Analytics. Quel est l’intéret d’une telle fonction? pour le moment je n’en vois pas, on peut éventuellement imaginer cela pour un magasin de chaussures avec des gros clichés de type(si individu grand alors fait clignoter les étagères qui comportent des grandes pointures). En fait j’avais plutôt imaginé ce cas pour calculer les entrées dans un magasin physique afin de pouvoir les comparer aux visites d’un site internet, et à partir de là j’ai pensé que la taille pouvait être une information additionnelle simple à récupérer.

Un article simple à comprendre et à mettre en application

Je sais que la mise en application est simple car j’ai réussi à la faire et que vous allez voir le code est facile à comprendre. Cependant cet article nécessite des compétences dans les domaines suivants:
- Arduino;
- Google Analytics;
- Python;
pas de stress si vous n’êtes pas expert dans ces domaines je vais faire le nécessaire pour démocratiser tout cela(dixit celui qui n’y connait rien non plus).

Premier mécanisme: Arduino

Tout va partir d’une carte Arduino, et oui naturellement pour pouvoir passer du physique au réel il va vous falloir acheter du matériel, du bon vieux hardware. Vous pouvez trouver de l’Arduino un peu partout, y compris des bonnes affaires sur le bon coin, idem vous pouvez trouver des modèles simplifiés tels que Thingz, Littlebits… dans mon cas de figure pour cet exemple j’ai directement acheté un kit entier sur Amazon pour un peu moins de 50€(dont une soixantaine de leds dont je ne sais pas quoi faire) qui comprend plus de 250 pièces. Pour la réalisation du tutoriel vous n’aurez besoin que de 8 composants:
- cable usb
- carte Arduino (dans mon cas une Arduino Uno)
- 4 cables
- une breadboard
- le composant HC-SR04
Le composant HC-SR04 est un émetteur d’ultrason dès qu’il rencontre un obstacle le son lui revient et il peut ainsi déterminer la distance à laquelle il a rencontré l’objet et dans notre cas va nous aider à déterminer la taille de l’individu.
Pour information j’ai mis toutes les informations qui vous intéresse sur le petit site suivant: http://carte-arduino.blogspot.fr/

Quelques explications sur le code?

 

int trig = 10; // en gros on déclare le composant
int echo = 11;
long echo_read;
long cm;

void setup()
{
pinMode(trig, OUTPUT); // definition du pin trig ( pin 10 ) en OUTPUT = sortie : émetteur
digitalWrite(trig, LOW);
pinMode(echo, INPUT); // definition du pin echo ( pin 11 ) en INPUT = entrée : recepteur
Serial.begin(9600); // definition du Moniteur serie avec un taux de rafraichissement de 9600 bauds
}

void loop()
{
digitalWrite(trig, HIGH);
delayMicroseconds(10); // Stoppe le programme pendant 10 microsecondes .
digitalWrite(trig, LOW);
echo_read = pulseIn(echo, HIGH); /* Lit la durée de l’impulsion niveau HAUT appliquée sur la broche echo qui est configurée en ENTREE.
L’instruction pulseIn() attend que la broche passe à HAUT, commence alors le chronométrage, attend que la broche repasse au niveau BAS et stoppe alors le chronométrage.
L’instruction renvoie la durée de l’impulsion en microsecondes ( 1 millions de microsecondes par secondes). L’instruction s’arrête et renvoie 0 si aucune impulsion n’est survenue dans un temps spécifié.
*/

cm = echo_read / 58; // Calcul la distance en cm cf le site http://www.micropik.com/PDF/HCSR04.pdf
if (cm < 106)
{
Serial.print(206-cm); //Affiche la taille de l’individu, chez moi l’appareil est à 2 mètres 6

Serial.print(‘\n’);
}
delay(1000); // Stoppe le programme pendant 1000 microsecondes sois 1 seconde.
}

En gros avec ce programme Arduino votre émetteur va réagir et envoyer la taille de l’individu lorsqu’il franchi une porte, il n’y a plus qu’à etre un peu bricoleur chez vous et le mettre au dessus d’une porte.

Résultat:

moniteur-serie

Deuxième et troisième mécanisme: le script Python et Google Analytics

Dans mon cas de figure je n’ai pas d’émetteur wifi, ni bluetooth sur ma Arduino du coup je passe via le cable usb et mon ordinateur pour envoyer des requetes, mon script Python va donc avoir la forme suivante:

import serial, requests
arduino = serial.Serial(‘/dev/ttyACM0′, 9600)
while True:
data = arduino.readline()
print data
r = requests.get(‘http://www.google-analytics.com/collect?v=1&tid=UA-33333333-1&cid=666666666&t=event&ec=Entree-magasin&ea=passage&el=’+str(data)+’&ev=’+str(data)+ »)
print r

Ici la première ligne sert à indiquer les fonctions qu’on va appeler, serial permet d’écouter le port série de notre Arduino et donc de récupérer les datas qui en sortent, requests permet d’envoyer des requetes http.
La deuxième ligne on lui indique sur quel port se trouve notre Arduino.
La troisième dit que si il entend des choses alors il enclenche la ligne 4.
La ligne 4 définie que ce qui sort de la Arduino c’est notre variable.
La ligne 5 a pas vraiment d’intéret c’est plus pour vérifier sur votre ordinateur que ça marche.
La ligne 6 sert à envoyer notre requete à Google Analytics, si vous avez lu mon pseudo article sur le Measurement Protocol alors je pense que vous avez déjà tout compris.
La ligne 7 a le meme role que 5 c’est juste pour me rassurer.

Le résultat(en mode crade)

Screenshot 2015-07-28 at 17.01.58

 

Comme vous pouvez le constater j’ai choisi de faire remonter cela en tant qu’événement alors que la logique voudrait que la taille d’un individu soit une dimension personnalisée et le nombre de passages en magasin une dimension personnalisée. Mais bon vous etes grands vous saurez faire les modifications nécessaires.

juil 18

Faire une sonnette connectée avec Littlebits et du Piwik

Connaissez-vous Littlebits? Il s’agit d’une entreprise américaine qui commercialise des packs d’objets connectés instinctifs, je n’irai pas dire que c’est le CMS de l’Arduino car c’est encore plus simple que cela. Disons que c’est un ensemble de petits widgets physique qui vous permettent de révolutionner votre vie. L’idéal est de vous mettre directement la vidéo de Youtube en guise de présentation:

Comme vous pouvez le constater, cela semble simple et extraordinaire… ça l’est.
Au niveau des inconvénients: c’est assez cher(si vous passez par Amazon, vous verrez que certains se font de belles marges) si vous passez en direct cela reste abordable, le soucis c’est que tout part des Etats-Unis.
Dans mon cas de figure je n’ai pour le moment que le kit présenté dans la vidéo. Mon idée est de vous montrer à quel point il est facile de créer un objet connecté qui va être une sonnette, symbolisée par un bouton poussoir, et de faire remonter son interaction dans Piwik. Nous pourrions imaginer concrètement le cabinet médical d’un médecin ou chaque patient doit indiquer sa présence en appuyant sur l’interphone. Le médecin étant à terme intéressé pour savoir si il y a respect entre la présence du patient et l’heure indiqué dans son planning.

Mise en place de l’objet connecté

Il y a pas plus rudimentaire: une alimentation(ici via pc mais vous pouvez mettre un chargeur usb, l’avenir selon moi est sur du solaire mais pour le moment j’ai pas trouvé), le bouton poussoir, la carte wifi:

Trop belle photo n'est ce pas?

Trop belle photo n’est ce pas?

Définition de l’action

De base, le cloudbit pousse au maximum l’utilisation du service « ifttt.com », la seule feinte c’est qu’il va falloir utiliser le IFTTT maker. Ici notre besoin est que lorsque quelqu’un appuie sur la sonnette alors on va envoyer une requête à Piwik, soit une recette qui va ressembler à if littlebits trigger then ifttt maker:

Screenshot 2015-07-18 at 18.30.33 En mode frenchie cela signifie que si quelqu’un appuie sur le bouton alors je vais déclencher le IFTTT Maker, le IFTTT Maker va prendre les valeurs suivantes:

Screenshot 2015-07-18 at 18.35.49

 

Une fois la recette validée, c’est comme en analytics, on teste si ça marche, le menu logs est fait pour cela dans IFTTT:

Screenshot 2015-07-18 at 18.37.53

 

Et voilà le travail:

Screenshot 2015-07-18 at 18.40.48

 

Mais Ronan, une sonnette ça sert à rien? en fait le bouton poussoir et la led chez les objets connectés c’est un peu l’équivalent du Hello World pour une page web, on prend cet exemple pour débuter. Mais on peut imaginer les choses d’une autre manière, imaginons que l’on souhaite faire l’équivalent d’un track pageview pour un site de vente en ligne mais pour une boutique physique. Notre but est de savoir dans quel rayon du magasin se situe le consommateur et bien il nous suffit de changer de composant:

20150718_184445

Ici j’ai simplement mis un composant de détecteur de son, si il y a du son au niveau du rayon des maillots de bain alors c’est que quelqu’un y est(vous pouvez réglez l’intensité du son entendu sur le composant), j’ai naturellement modifié l’URL en conséquence et voilà le résultat:

Screenshot 2015-07-18 at 18.50.25

Vous l’aurez compris avec nos codes de suivi javascript et nos sites internet on est un peu (beaucoup) has been face au développement des objets connectés. Littlebits n’est rien comparé au potentiel d’un objet connecté personnalisé. La boutique de Littlebits pourra vous donner un meilleur aperçu des composants et possibilités disponibles: http://littlebits.cc/shop mais ce n’est qu’un premier pas dans l’immense galaxie d’objets connectés qui nous attendent… bon développement à tous.

juil 18

Seventeen again pour un profil marketing

Et si on avait 17 ans à nouveau? Que ferions nous de différent pour notre carrière? L’idée d’écrire sur ce sujet m’est venu alors que je faisais les courses aujourd’hui au supermarché en pensant aux différents saisonniers présents dans les rayons. Parmi eux il est probable qu’il y ait les futurs responsables marketing digitaux de demain, peut être même qu’ils sont déjà en train de poursuivre un cursus en marketing, peut être qu’ils ont arrêté leurs études. Bref quand on avait 17 ans, on ne pensait pas au marketing digital pour se faire de l’argent l’été, et en toute honnêteté je pense que cela n’a pas changé. Quand on a 17 ans on se dit que la gamme d’emplois à occuper l’été se réduit à s’occuper de la caisse, de la manutention, des ménages… bref des missions très éloignées de nos (futures) études.

Si j’avais un conseil à donner à un (futur) étudiant en marketing/communication pour meubler son été

Certes vous avez besoin d’argent pour payer vos sorties et vos études. Mais le problème est que vous voyez court terme. Croyez en vous et faites un emprunt plutôt, ne gâchez pas votre été à faire un métier qui n’a rien à voir avec votre parcours, le temps est précieux, la concurrence de plus en plus féroce, investissez votre été dans vos études et des projets personnels et professionnels.

Comment s’éduquer en marketing digital lorsque l’on a pas un centime?

Lorsqu’on est étudiant on pense à tort que les livres sont obsolètes, qu’un fichier pdf ou qu’un article de blog peut nous permettre de nous auto-éduquer. Personnellement je suis convaincu du contraire ni plus ni moins parce que c’est le parcours que j’ai pris il y a quelques années et que je sais qu’il y a possibilité d’aller plus vite. Avec budget c’est très simple, ma collection de livres favorites est http://eu.wiley.com/WileyCDA/Section/id-611040.html certes c’est en anglais, certes certains livres datent un peu, mais ils sont exceptionnels, faites le nécessaire pour les demander à votre bibliothèque.
En contenu gratuit, je ne peux que recommander le site d’Openclassroom https://openclassrooms.com/courses en effet pour démarrer en marketing digital il vous faut:

  • savoir créer un site internet
  • savoir référencer un site
  • des réseaux sociaux
  • des notions de javascript et de html

tout est déjà sur OpenClassroom, vous voulez monter en compétences sur les technologies de Google? faites simplement un site:withgoogle.com dans Google et vous verrez toutes les formations gratuites qu’ils mettent à votre disposition, passez les certifications proposées, il y en a pour tous les goûts. Si vous travaillez bien, vous devriez commencer à être opérationnel au bout de deux étés. En gros cela signifie deux étés en perte sèche, en gros au maximum un manque à gagner de 6000€. D’un autre côté cela signifie que dès le 3ème été vous pouvez déjà être embauché pour un CDD l’été en agence web si vous êtes bon, sinon vous pouvez même commencer à gagner de l’argent dès le premier été si vous partez directement sur de la rédaction web, exemple avec GreatContent et TextBroker. Naturellement cela va impliquer de vous mettre en statut auto-entrepreneur qui naturellement va vous faire monter en compétences sur la partie gestion d’une entreprise.

En résumé: ne gâchez pas votre été, croyez en vous, étudiez et pratiquez.

juil 11

Thingz: faire remonter la température d’une pièce dans Piwik

Une carte Arduino classique ne possède en général qu’une connexion via Usb pour transmettre des données à un ordinateur. En fait la console de base d’Arduino ne permet que de débogguer mais avec un peu de malice vous pourrez en tirer quelque chose. Dans notre cas de figure, l’idée est de se servir du bloc température de notre carte Arduino pour l’envoyer à une solution de web analytics. Pour ce faire il va falloir utiliser un langage de programmation sur notre ordinateur qui va permettre d’interpréter les données qui sont transmises par le cable usb. Pour ce faire nous allons utiliser le langage de programmation Python. La première étape va consister à installer un programme pour Python du nom de pySerial/

Installer pySerial facilement

J’ai trouvé ce tuto super simple, vrai de vrai pour les utilisateur de Linux:
Installer pySerial;
une fois cela fait vous aurez un programme permettant de dialoguer entre Arduino et Python.

Communiquer avec Arduino en Python

Une fois le programme installé nous allons pouvoir mettre en place un petit script pour voir si tout cela fonctionne correctement et monter en compétence. Naturellement cela implique que Python soit installé sur votre ordinateur.

Dans un premier temps, mettez en place le tuto suivant pour faire afficher un Hello World depuis votre Arduino: tuto Hello World Thingz.

Une fois celui-ci installé, cela signifie que votre Arduino va émettre un message de type « Hello World ».

Maintenant nous allons mettre en place un script Python pour justement arriver à lire depuis le port USB ce qu’émet la Arduino, le voici:

import serial
arduino = serial.Serial(‘/dev/ttyACM0′, 9600)
while True:
data = arduino.readline()[:-2] #the last bit gets rid of the new-line chars
if data:
print data

Comme vous pouvez le constater, la première ligne importe le programme que nous avons installé au début de cet article. La deuxième va écouter le port sur lequel est branché la Arduino(pour le trouver, allez dans outils puis port série de l’interface graphique de votre Arduino). Le reste permet de dire que si il y a de la data qui sort, alors il faut l’afficher, résultat:

thingz-and-python

Ok, nous venons de voir que cela marche, nous allons donc pouvoir supprimer ce script et le remplacer par un script permettant de récupérer la température(naturellement pour ce faire vous mettrez en place le bloc température de Thingz sur la board):

#include « Temperature.h »
Temperature temp;

void setup()
{
Serial.begin(9600);
}

void loop()
{
temp.temperature();
attendre(10000);
Serial.println(temp.temperature());
}

Comme vous pouvez le voir, notre code n’a rien d’extraordinaire. Dans la console nous pouvons remarquer qu’il y a du bug(mais bon n’étant pas développeur je ne peux pas faire de miracles malheureusement, mon but est avant tout de vous montrer les possibilités en terme d’analytics):

temperature-piece

 

Comme vous pouvez le constater il fait 25 degrés dans mon petit appartement.

Ok maintenant nous allons faire le nécessaire pour envoyer cette donnée de température à la solution de web analytics.

Envoyer une requête http à Piwik via Python

Piwik propose différents types de tracking, le plus simple à appréhender est celui du tracking image qui fonctionne de façon similaire au measurement protocol de Google Analytics, ci-dessous le script Python qui permet d’envoyer une requête http:

import serial, httplib
arduino = serial.Serial(‘/dev/ttyACM0′, 9600)
while True:
data = arduino.readline()[:-2] #the last bit gets rid of the new-line chars
print data
conn = httplib.HTTPConnection(« votre-nom-de-domaine »)
conn.request(« HEAD », »/piwik/piwik.php?idsite=1&rec=1&action_name= »+str(data))
print conn.request

et résultat:

piwik-temperature-thingz

 

Bon vous l’aurez remarqué il y a énormément d’ajustements à faire:

  • la température ne devrait être pushée qu’une fois par heure;
  • avec mon code actuel les erreurs vont remonter dans Piwik;
  • au lieu de remonter en tant qu’action il faudrait que je les fasse remonter en tant que variables personnalisées;

mais bon le but du tutorial était avant tout de vous montrer que d’une carte Arduino simplifiée telle que Thingz vous pouvez envoyer de la data sur Internet via le cable usb et utiliser ces data pour de l’analytics.

Un grand merci à Jean-Baptiste pour l’aide sur Python: @jb_ma

 

juil 06

Thingz: Faire un Hello World avec la fonction PrintIn

Lorsque j’ai commencé à faire mes premiers pas avec Thingz… je ne vais pas vous le cacher, je me suis un peu arraché les cheveux. La raison principale est que Thingz fonctionne avec des fonctions propres à Thingz. Ainsi des copier/coller de tutos Arduino risquent de ne pas marcher si vous ne modifiez pas un peu votre code. L’un des exemples le plus flagrant est celui de l’utilisation de la fonction Serial qui permet de communiquer entre votre Arduino et votre ordinateur. Un grand merci au fondateur de Thingz, Cyril, pour m’avoir fourni le code:

#include "Led.h"

Led l;

void setup()                    // run once, when the sketch starts
{
  Serial.begin(9600);           // set up Serial library at 9600 bps

  Serial.println("Hello world!");  // prints hello with ending line break 
}

void loop()                       // run over and over again
{
  attendre(1000); 

  Serial.println("On vient d'attendre 1 seconde (1000ms) !");                               
}

En gros la seule difficulté ici est que le code doit inclure un composant, même si vous ne l’utilisez pas.

juil 06

Thingz: Afficher la température

Vous connaissez Thingz? Il s’agit d’une carte Arduino simplifiée fabriquée par une entreprise française: https://www.thingz.co/ qui permet de créer vos projets objets connectés sans vous prendre la tête. Pour réussir ce petit tuto il vous faudra simplement deux blocs de chiffres et le bloc température. Le code à produire est le suivant:

#include « Temperature.h »
#include « Chiffre.h »

Temperature temp;
Chiffre afficheur1,afficheur2;

void setup() {
}

void loop() {
temp.temperature();
afficheur1.afficheLeChiffre(temp.temperature()/10);
afficheur2.afficheLeChiffre(temp.temperature()%10);
}

juin 29

Le measurement protocol de Google Analytics pour les nuls

Attention cet article est en cours de rédaction et pleins d’erreurs…

Avec l’arrivée massive des objets connectés il va y avoir de plus en plus de besoin en terme d’intégration de solution analytics telle que celle de Google.
Le measurement protocol de Google Analytics est la méthode qui permet de discuter en brut avec Google Analytics et de lui envoyer de la data.
Concrètement si vous avez un site internet, vous devez passer par la mise en place d’un code javascript sur votre site, cependant si vous traitez avec un autre appareil, par exemple un objet connecté d’ouverture et de fermeture de porte, il est clair et net que vous n’allez pas utiliser javascript.

Le problème du measurement protocol de Google Analytics

Le gros problème reste le même, les personnes en charge de la rédaction de la documentation du Measurement Protocol ce sont dit « Tiens si on écrivait une doc qui intéresse les marketeux mais que l’on va faire à destination des développeurs », au final des possibilités immenses gâchées par une mauvaise compréhension de la cible. D’où ce petit article :)

Les requêtes http

Si vous avez mis le nez dans la documentation sur le measurement protocol vous verrez que pour le faire fonctionner vous avez le choix entre deux méthodes, la méthode POST et la méthode GET.
L’idéal pour comprendre un peu tout cela est de mettre le nez dans les cours d’Openclassroom. Source: http://openclassrooms.com/courses/les-requetes-http
En fait le métier d’un analyste digital est assez trivial si vous savez comment fonctionne Internet(2 piliers: comprendre le business du client, comprendre internet), tout le reste c’est simplement du temps à passer sur l’utilisation d’éditeurs de solutions.

Qu’est ce que le HTTP?

Ni plus ni moins qu’un protocole de communication entre votre ordinateur et un serveur. Ce protocole est utilisé pour échanger des informations. De notre côté, à la fois le téléchargement du script de Google mais également l’envoi des données que l’on souhaite(un événement, une page vue…) aux serveurs de Google.

Les requêtes http

Lorsqu’une requête est faite depuis votre ordinateur vers un serveur, elle prend la forme suivante:

Ligne de commande(commande, url, version)
En-tête de la requête
nouvelle ligne
Corps de requête

Voici le premier exemple que prend Google dans sa documentation

POST /collect HTTP/1.1
Host: www.google-analytics.com

payload_data

Concrètement dans l’exemple ci-dessus, on indique qu’on utilise la méthode HTTP POST. On va pour cela travailler sur la page www.google-analytics.com/collect

payload_data, vous l’aurez compris correspond au corps de notre requête. Google nous indique que les paramètres obligatoires que doit prendre ce corps sont les suivants:

v=1
&tid=UA-XXXX-Y
&cid=555
&t=

le v correspond à la version, sa valeur est toujours égale à 1.
tid=UA correspond au numéro de votre propriété, vous n’êtes pas débile je suis sûr que vous trouverez facilement
cid correspond au numéro qui s’affiche lorsque vous utilisez Google Data Feed Query Explorer par exemple ou dans l’admin de Google Analytics.
t correspond au type de donnée que vous souhaitez envoyer.

Bon cela semble très flou pour le moment, l’idéal est de vous faire un exemple tout simple de quelque chose qui marche. Prenons par exemple le tracking via une image(que l’on pourrait utiliser pour le suivi d’un email par exemple) que l’on va décortiquer, pour ce faire prenons l’exemple proposé par Mike Veilleux posté sur dyn.com:

http://www.google-analytics.com/collect?v=1&tid=UA-12345678-1&cid=Client_ID&t=event&ec=email&ea=open&el=recipient_id&cs=newsletter&cm=email&cn=0

Exemple en live:

Si je rentre l’url suivante dans un navigateur: http://www.google-analytics.com/collect?v=1&tid=UA-31011496-1&cid=58853148&t=event&ec=exemple&ea=test-pour-montrer-aux-lecteurs&el=ca-marche

test-pour-montrer-aux-lecteurs

ok donc ici je pense que vous êtes en mesure de tout comprendre, chaque paramètre que nous souhaitons passer est harmonieusement séparé par un &, la seule chose qui nous manque ici de savoir c’est l’ensemble des autres paramètres passés:

ec = catégorie de l’évenement google analytics
ea = action de l’événement google analytics
el = libellé de l’événement google analytics
cs = source de l’apporteur de trafic
cm = support de l’apporteur de trafic
cn = nom de la campagne de l’apporteur de trafic

En résumé… vous l’aurez compris c’est super simple. Il vous suffit simplement de connaitre en amont les paramètres que vous souhaitez passer à Google Analytics. Pour se faire référer vous à la documentation de Google Analytics, qui désormais devrait vous paraitre plus claire.

Si on reprend l’exemple que je citai précédémment, dans lequel une personne rentre dans un magasin on pourrait avoir:

http://www.google-aalytics.com/collect?v=1&tid=UA-12345678-1&cid=Client_ID&t=event&ec=visite-magasin&ea=porte-entree&el=visiteur&cs=magasin-niort&cm=visiteur-physique&cn=0

Bon j’ai rempli les paramètres un peu n’importe comment mais comme vous pouvez l’imaginer, si votre objet connecté autorise l’envoi de requête http vous aurez compris que c’est un jeu d’enfant pour envoyer la data.

« La commande représente la méthode utilisée. Dans le cas du Measurement protocol il y ‘en a 2: GET et POST

GET permet de demander une ressource.
POST permet de modifier la ressource

URL correspond à l’adresse de la page sur le serveur sur laquelle on souhaite travaillerhttp

La version http, en toute franchise je ne sais pas trop à quoi cela se réfère, il parait que c’est la version du protocole http utilisé mais aucune idée de la valeur précise que cela doit prendre en fonction de votre requête.

En-tête

il s’agit d’un ensemble de valeurs que l’on souhaite passer et qui précise plus précisement les attributs de la requête. Sur openclassroom il le compare aux balises meta d’une page web. »

Liste des paramètres que l’on peut envoyer à Google Analytics

/analytics/devguides/collection/protocol/v1/parameters

La majeure partie est optionnelle

ds = data source
exemple: ds=web ds=app ds=boutique ds=crm

juin 28

Faire un compteur tout simple partant d’une application pour aller chez Piwik

Depuis quelques semaines je pense à 1001 combinaisons possibles pour tracker plein de choses de manière très simple. Je pense également que le métier des web analystes est très sérieusement menacé à cause de la démocratisation des objets connectés.
Dans cet article, je souhaite montrer à quel point il est trivial de faire remonter des informations… physiques dans une solution de web analytics.
Notre cas hypothétique est le suivant, imaginons un petit magasin physique qui souhaite faire remonter dans ses stats piwik le fait qu’une personne vienne de rentrer dans son magasin. Naturellement il n’est pas devant dans son ordinateur et ne souhaite pas se rendre sur un site Internet pour pousser cette info.

Création de l’application avec App Inventor 2

Si certains d’entre vous ne connaissent pas encore App Inventor 2, il s’agit d’un site permettant de créer des applications pour mobiles pour ceux qui n’y connaissent rien du tout. Pour faire simple cela vous permet d’avoir une interface graphique à la manière d’un CMS pour faire votre appli sous Android.
Voici notre interface graphique:

Screenshot 2015-06-28 at 17.15.07

 

Pour information j’ai fait un truc moche car je voulais juste tester que cela marche mais rien ne vous empêche de faire quelque chose de sexy.
Comme vous pouvez le constater on ne joue ici qu’avec deux éléments:
- Bouton radio
- Un composant Web(composant non visible qui permet d’exécuter les fonctions suivantes: http get, post…)
Il ne nous reste plus qu’à voir la partie code:
Screenshot 2015-06-28 at 17.19.31ici j’ai juste un doute concernant le bloc get, je pense que vous pourriez le supprimer. Je pense que vous devriez comprendre les autres éléments du bloc. La seule interrogation restante est le code à appeler dans mon cas de figure j’ai utilisé le pixel d’image de piwik:

Screenshot 2015-06-28 at 17.23.56

 

rien d’extraordinaire tel que vous pouvez le constater.
Pour résumer ici à chaque push sur le bouton, l’image de Piwik est chargée et la data remontera dans Piwik:

Screenshot 2015-06-28 at 17

 

ici je me suis un peu acharné sur le bouton du coup l’action est remontée 9 fois…

juin 19

Retour sur la 4ème édition de MeasureBowling Nantes

Les événements se suivent mais ne se ressemblent pas. Jeudi dernier avait lieu la quatrième édition de MeasureBowling Nantes et cinquième au niveau européen. On ne va pas le cacher nous avons eu de nombreux désistements, le hasard du calendrier sans doute et beaucoup de malchance. Trois lignes avaient été réservées et nous avons finalement joué sur 2 lignes car seulement 7 participants étaient sur la ligne de départ. Cela ne nous a pas empêché d’avoir une excellente quatrième édition avec une très belle première manche remportée par Clément Van Peuter qui n’a cessé d’accumuler les strikes pour atteindre les 144 points. Quel dommage qu’à MeasureBowling Nantes la première manche est un tour d’échauffement et ne désigne pas le vainqueur de l’édition :(

Nouvelle édition: nouvelle formule

Pour cette quatrième édition de MeasureBowling Nantes nous avons eu droit à un cours de bowling dispensé par Eurobowl qu’on remercie d’ailleurs pour ses tarifs très avantageux(3 parties pour 12 euros) qui nous a appris pas mal de choses sur la manière de jouer. Naturellement certains ont mis ce cours en pratique et ont vu leur score grimper lors de la seconde manche. Ainsi, Mickaël Kerfant remporte la 4ème édition de MeasureBowling Nantes avec un score de 146 points!!!:

mickael-kerfant-vainqueur-measure-bowling-nantes

 

Il remporte par la même occasion mon dernier livre sur Google Tag Manager.

Un grand merci aux personnes présentes

Félicitations à l’ensemble des joueurs de cette quatrième édition:

  • Frédéric Forster;
  • Frédéric Plisson;
  • Benjamin Carrier;
  • Clément Van Peuter
  • Mickaël Kerfant;
  • Malvyn Le Bohec;

Prochain rendez-vous au mois de novembre

Pierre Soulier reste le meilleur joueur de l’édition de MeasureBowling Nantes avec 151 points. A noter que désormais, tout participant à MeasureBowling Nantes qui dépassera ce score recevra un super lot. A vos agendas, le prochain MeasureBowling Nantes aura lieu au mois de Novembre.

avr 22

Interview de Josh Kellett: le créateur de GA Checker

GA Checker est un outil incontournable permettant de vérifier si l’installation d’un de vos services Google a été effectué correctement sur votre site Internet. Ainsi j’ai tenu à poser quelques questions à son créateur afin d’en savoir plus sur les motivations qui l’ont poussé à créer cet outil et également à le mettre gratuitement à la disposition des internautes. Je pense qu’on ne récompense pas assez ceux et celles qui mettent à notre disposition ces outils qui rendent notre travail plus simple.

1) D’où vous est venu l’idée de développer cet outil?

Josh Kellett: En fait je parcourais la liste des nombreux outils que j’utilisais au quotidien, beaucoup d’entre eux étaient gratuits et je souhaitais créer quelque chose d’utile. Je travaille beaucoup avec Google Analytics et Google Tag Manager et j’étais au courant qu’il y avait un besoin pour créer un outil qui permettrait de vérifier l’intégralité des tags d’un site. J’ai appelé l’un de mes amis développeur le lendemain et on s’est mis au travail directement.

2) Quels outils gratuits tel que le tien aimerais tu voir sur Internet?

Josh Kellett: Question difficile, en fait il y a déjà beaucoup de très bons outils sur Internet. J’aimerais beaucoup voir un outil gratuit pour Adwords qui permettrait automatiquement de calculer les résultats d’un test sur Adwords et nous envoyer un email dès qu’ils atteignent un certain niveau de performance. Cela me permettrait de gagner beaucoup de temps. Je pense que mon application GA Checker a encore beaucoup de perspectives d’évolution au niveau des rapports automatisés, par exemple tel que analyser le contenu d’un conteneur Google Tag Manager, une analyse plus grande du nombre de pages, tout ce qui pourrait rendre la vie des entreprises plus simple.

3) Pourquoi l’outil est il limité à 10000 pages?

Josh Kellett: J’ai mis une limite à 10000 pages pour des raisons de bande passante. Je souhaitais avoir une limite de page qui permette aux marketeurs et aux web analystes de pouvoir trouver l’outil utile, mais également que cette limite soit basse pour que je n’ai pas à payer des milliers de dollars de frais d’hébergement par an.

4) Est ce que vous proposez une version payante de vos services au delà d’une certaine limite?

Josh Kellett: Pas encore, même si j’ai déjà été contacté pour ce type de prestation, c’est quelque chose sur lequel je travaille. En fait je n’ai pas crée cet outil dans ce but. J’ai mis au point cette application pour avant tout aider la communauté du web marketing et du web analytics qui m’ont beaucoup aidé durant mes premières années. Disons donc que l’option payante ne m’est pas venu à l’esprit lorsque j’ai crée l’outil.

5) Pourquoi est ce qu’il n’y a pas plus d’applications telles que la votre sur Internet? Est il coûteux de créer ce type d’outil?

Josh Kellett: Je pense que de manière générale, les personnes qui ont la possibilité de le faire manquent de temps ou d’argent afin de pouvoir se lancer, même des outils aussi simple que GA Checker demandent énormément de travail avant d’être mis en ligne. Je suis persuadé qu’il y a énormément de bonnes idées à creuser, mais on ne sait juste pas par quel bout commencer, du coup ils attendent que quelqu’un ait la même idée et la réalise. En ce qui concerne les coûts, ils sont existants mais pas si élevé, soit 250$/an, en plus de cela je fais aussi appel à un peu de maintenance technique, ce qui me coûte également à peu près la même somme par an.