Comment suivre avec Google Analytics sur une page de redirection en PHP?
J'ai un site où je voulez savoir qui a cliqué sur des liens spécifiques avec GA.
Disons que j'ai cette page: /index.le php?id=32
Sur cette page, je exécuter une requête basée sur l'ID de la variable (dans ce cas: 32), et j'obtiens l'URL de l'32 id de l'élément à partir de la Base de données afin de rediriger le visiteur.
Je suis en utilisant une fonction PHP: header('location: http://www.example.com');. Avant que je suis la redirection de l'utilisateur, je veux Google pour capturer l'information du visiteur, et seulement ensuite rediriger vers la page web souhaitée.
J'ai essayé de coller le GA code et l'ÉCHO juste avant la redirection, mais il n'a pas de travail. Comment est-il possible de suivre ce genre de pages avec GA?
- Si vous souhaitez que l'utilisateur puisse être bloqué sur un écran noir pendant une seconde et ennuyé? Parce que si vous pouviez le faire, ce serait la solution. Google Analytics fonctionne en Javascript sur le client, de sorte que vous avez à faire une pause sur le client avant de rediriger pour rattraper le coup.
Vous devez vous connecter pour publier un commentaire.
Généralement
(cf. https://support.google.com/analytics/answer/1009614?hl=en)
Votre cas spécifique
Depuis PHP est rendue et exécutée avant tout Javascript, Google Analytics tracker n'a aucune chance d'envoyer des données de son serveur.
Solutions
Considérant que vous ne pouvez pas suivre un PHP une page de redirection, il y a un certain nombre d'alternatives possibles:
window.location = "http://www.yoururl.com";
<meta http-equiv="refresh" content="5; url=http://example.com/">
ga('send', 'pageview', '/index.php?id=32');
/products.php?utm_source=index&utm_medium=redirection-page&utm_campaign=32
Les deux derniers éléments de la liste sont mises en œuvre sur les différents liens sur la première page avant de vous rendre sur le PHP une page de redirection.
Je suggère quelque chose comme ce qui suit. Il utilise hitCallback de faire la redirection si l'événement sera envoyé à GA et puis la redirection se produire. Il fixe également un Délai d'attente de sorte que devrait analytics.js être indisponible pour une raison quelconque, le spectateur est toujours (enfin) envoyé à la bonne place.
codes de suivi et d'url doit bien sûr être mis à jour pour correspondre à la vôtre.
Références:
<?php ... ?>
dans l'exemple. Spécifiquement pourlocation.href
et peut-être aussiUA-NNNNNNN-N
Si vous regardez votre journal des erreurs, vous verriez une erreur qui dit à peu près "Ne peut pas envoyer de rediriger l'en-tête l'en-tête a été déjà envoyé". Il n'est pas possible de faire une redirection via l'en-tête location si vous avez déjà eu HTML/Javascript de sortie avant de votre bout de code PHP (car à ce moment que vous avez déjà implicitement envoyer vos en-têtes http).
Il serait possible d'utiliser des Lunettes de protocole de mesure de la pour créer une solution côté serveur qui permet de suivre la page avant de la rediriger. Dans ce cas, vous devez créer un client_id vous-même et, dans le cas où les propriétés de vous rediriger sont votre propre, ajouter à l'url de redirection pour le cross-domaine de suivi.
Si ce n'est pas la préoccupation que vous pourriez utiliser Curl ou fopen pour envoyer un appel à GA via une Url comme ceci:
Où UA-XXXX-Y de l'ist de l'id de compte de google, cid est l'id de client que vous avez généré et /redirect est le nom de votre page. Si vous souhaitez reconnaître la récurrence des utilisateurs, vous devez enregistrer l'id du client à un cookie, et de vérifier, pour chaque visite si le cookie existe et de récupérer l'identifiant s'il n'.
si vous désactiver la redirection, et d'inspecter la page, voyez-vous l'appel à google analytics dans votre onglet réseau? J'ai trouvé que, parfois, la poussée des événements n'apparaissent pas dans les AG de 24 heures.
Si vous voyez que c'est en effet l'envoi à google, puis je le laisser activé, et attendre un jour avant de vérifier GA pour voir si quelque chose a été enregistré.
Depuis la page d'envoyer les visiteurs vers la redirection est également sous votre contrôle, je propose une approche totalement différente: utiliser l'événement de suivi sur la page source.
Sur la page qui a le
/index.php?id=32
lien, de mesurer tous les clics sur ce lien par la fixation d'unonClick
gestionnaire pour le lien et l'exécution de quelque chose comme