web-dev-qa-db-fra.com

Délai d'expiration de session Google Analytics affectant la page de destination et les conversions

J'ai rencontré un scénario intéressant dans Google Analytics que j'ai pu découvrir à l'aide du rapport User Explorer.

Cet utilisateur a accédé à une page, puis l'a laissée reposer pendant une heure, ce qui a entraîné l'expiration du délai de la session Google Analytics. Quand ils étaient à nouveau actifs, ils ne rechargeaient pas la page. Au lieu de cela, ils ont déclenché quelques événements et ont finalement rempli un formulaire qui a déclenché une conversion d'objectif, puis les a redirigés vers une page "Merci".

Ce qui s’est passé est maintenant la page de remerciement a été considérée comme la page de destination, et le lieu de réalisation de l’objectif est défini comme "(entrée)".

Voici une capture d'écran du rapport User Explorer. Je l'ai organisé afin qu'il soit dans l'ordre chronologique de haut en bas.

GA User Explorer Report

Étant donné que la page "Merci" est la première page visualisée après le délai d'expiration de la session, elle est associée à tout. Je suis sûr que je pourrais modifier cela avec un modèle d'attribution différent, mais j'aimerais envisager d'autres idées que je pourrais utiliser dans le code. Je pense que je pourrais peut-être envoyer le window.location dans les champsObjet de mon ga('send', 'event'... fonction?

D'autres pensées?

2
GreatBlakes

Ce que je propose pour aider ceci est une tâche Google Analytics personnalisée qui écoute les événements et s'assure que la charge utile contient un emplacement et un titre de page.

//Modify the payload if needed before sending data to Google Analytics
ga(function(tracker){
    var originalSendHitTask = tracker.get('sendHitTask'); //Grab a reference to the default sendHitTask function.

    tracker.set('sendHitTask', function(model){
        //Always make sure events have the page location and title associated with them (in case of session timout)
        if ( model.get('hitType') === 'event' ){
            if ( !model.get('location') ){
                tracker.send('pageview'); //Send a new pageview if the event does not have contextual data.
            }
        }

        originalSendHitTask(model); //Send the payload to Google Analytics
    });
});

Cela ne mettra pas à jour toutes les valeurs de champ (ce qui serait Nice) comme le ferait une page, alors j'ai pensé vérifier si le location est vide et si c'est le cas, envoyer d'abord une nouvelle page vue, puis l'événement ...

1
GreatBlakes