44 votes

Suivre les campagnes avec Google Analytics sans paramètres de chaîne de requête ?

Existe-t-il un moyen de suivre une campagne dans Google Analytics sans avoir à utiliser des paramètres de chaîne de requête ?

Dans Analytics, vous pouvez marquer un lien vers votre site avec des paramètres de chaîne d'interrogation tels que utm_campaign y utm_medium qui transportent des informations sur la campagne afin de pouvoir en assurer le suivi.

Google a en fait un outil en ligne pour aider à la création de ces liens.

Par exemple, si StackOverflow faisait de la publicité sur Experts Exchange, il pourrait avoir un lien comme celui-ci :

http://www.stackoverflow.com/?utm_source=expertexchange&utm_medium=banner&utm_campaign=a-better-expert-exchange

Pour de nombreuses raisons, je ne veux pas que ces paramètres maladroits apparaissent dans mes URL :

  • Je veux encourager l'utilisation de Twitter, et les liens longs ne le permettent pas.
  • Je ne veux pas que les gens les marquent d'un signet avec les identifiants de la campagne dans
  • Je veux que les gens voient une URL propre
  • Je ne veux pas que les moteurs de recherche indexent ces liens.
  • Je veux avoir un contrôle total sur les paramètres envoyés à Google Analytics - et ne pas laisser à mes partenaires le soin de mélanger les URL avec lesquelles ils accèdent à mon site.

J'ai cherché il y a quelque temps un moyen de définir ces paramètres. Google a une page qui, à première vue, semble être la solution, mais qui ne l'est pas. Cette page décrit comment vous pouvez changer le nom des paramètres de la chaîne d'interrogation en quelque chose d'autre - par exemple pour utiliser src au lieu de utm_source vous courriez :

 pageTracker._setCampSourceKey("src");     

Je n'arrive vraiment pas à comprendre pourquoi il n'est pas facile de définir explicitement la valeur de l'attribut utm_source et non pas simplement lui attribuer un nom de paramètre alternatif.

Je me souviens qu'il y a quelque temps, j'ai trouvé quelqu'un qui avait fait une sorte de piratage méchant, mais je n'arrive même pas à le trouver maintenant. Je crois me souvenir que cette personne avait pris une copie du code d'analyse et l'avait essentiellement dérivé pour le pirater. Ce n'est pas une bonne solution pour moi !

existe-t-il un moyen officiel de faire cela, sans redirections désagréables ?

En bref, je veux faire quelque chose comme ceci (site ASP.NET MVC). Donner à un partenaire un lien vers mon site avec une URL comme celle-ci :

 http://www.example.com/?cid=2dae88a8-66b1-475d-8a35-2978bd1a158c

Dans le contrôleur de ma page MVC, je trouverais à quelle campagne ce GUID se rapporte, et je définirais l'état du modèle. Remarque : cela me donne l'avantage de pouvoir modifier les paramètres de la campagne sans avoir à réémettre l'URL.

Dans la page elle-même, je ferais alors ceci :

var campaignMedium = <%= ViewData.Model.CampaignMedium %>;
var campaignSource = <%= ViewData.Model.CampaignSource %>;
var campaignName = <%= ViewData.Model.CampaignName %>;

pageTracker._setCampaignData({
    utm_source: campaignSource,
    utm_medium: campaignMedium,
    utm_campaignName: campaignName
});
pageTracker._trackPageview();

IMPORTANT : Cette méthode _setCampaignData N'EXISTE PAS ACTUELLEMENT. Il s'agit juste d'un 'pseudo code' pour ce que j'aimerais idéalement être capable de faire.

Quelqu'un a-t-il réussi à faire une telle chose ?

1 votes

J'ai ajouté la prime parce que j'aimerais vraiment voir des mises à jour sur cette question - mais je n'ai pas assez de temps (ou d'optimisme) pour faire des recherches moi-même. je croise les doigts cependant ! thx

7voto

J'ai posté ce message sur le forum d'aide de Google.

Google Veuillez lire !!! Grande opportunité d'amélioration !!! De nombreux utilisateurs ne sont pas en mesure d'utiliser les paramètres publicitaires. Permettez aux paramètres publicitaires d'être lus à partir de l'URL utilisée sur trackPageview(url).

Quoi qu'il en soit, sans cette possibilité, j'ai dû recourir à une solution de rechange. Plutôt que d'ajouter les paramètres à l'URL. Je les ai temporairement ajoutés à l'URL comme un signet. Puis je les ai supprimés après l'appel trackPageview. En les ajoutant comme signet, la page n'est pas rechargée. Voir l'exemple suivant.

var pageTracker = _gat._getTracker(param);
var orighash = document.location.hash;
if (orighash == "") {
    orighash = "none";  // this is done to prevent page scrolling
}
document.location.hash = 'utm_source='+source+'&utm_campaign='+campaign+'&utm_medium='+medium+'&utm_content='+content;
pageTracker._setAllowAnchor(true);
pageTracker._trackPageview();
document.location.hash = orighash

0 votes

C'est une solution de contournement courante que j'ai vue. (Vous pouvez modifier votre message et corriger le code du formatage).

3voto

Maciej Łebkowski Points 2869

Je ne l'ai pas testé, mais essayez d'ajouter ces paramètres à la commande .trackPageview() c'est-à-dire :

pageTracker._trackPageview("?utm_source=...")

Quoi qu'il en soit, vous devez passer ces paramètres d'une manière ou d'une autre. Et cela signifie que vous aurez toujours de longues URL avec des conneries de campagne dedans. Cela n'empêchera pas la mise en signet des mauvaises URL, leur indexation par les moteurs de recherche, etc.

Si vous voulez garder le contrôle de ces paramètres, configurez des URL distinctes pour les partenaires, qui redirigent vers l'URL cible étiquetée :

http://example.com/campaigns/1 -> http://example.com/?utm_source=...

0 votes

Attention, supprimez la barre oblique de l'argument car elle modifie le chemin réel de la requête.

1 votes

Je dois encore le tester, mais apparemment cela ne fonctionne pas. c'est vraiment dommage selon moi. voir google.com/support/forum/p/Google%20Analytics/

1 votes

Cela ne fonctionnera pas, la valeur trackPageview n'est pas lue pour rechercher les paramètres de la campagne, c'est juste ce qui est enregistré comme la page actuelle.

2voto

Jay Stevens Points 2288

Vous pouvez utiliser l'API Google Analytics pour personnaliser l'appel à _trackPageview dans votre exemple.

pageTracker._trackPageview("/inbound/" + campaignSource + "/" + campaignMedium );

Tous les liens entrants apparaîtront alors dans Google Analytics sous le "pseudo-répertoire" /inbound/ avec un "répertoire" distinct pour Campaign Source et Campaign Medium.

2voto

boomhauer Points 2392

Le nouvel (er) outil d'analyse universel vous permet de spécifier ces paramètres - voir la documentation ici. https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference

Consultez la section "Source de la campagne" pour un exemple de définition de ce qui serait le paramètre utm_source.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X