aokozlov
Tengo un sitio web donde envío eventos a Google Analytics usando la función javascript:
ga('send', 'event', 'showphone', 'feedback', 'result');
Sin embargo, también necesito enviar algunos eventos similares desde server-side
utilizando PHP. Probé este tutorial de inicio rápido: API Hello Analytics: inicio rápido de PHP para cuentas de servicio y los informes funcionan de maravilla, pero no tengo idea de cómo enviar un evento.
¿Podría mostrarme paso a paso qué debo codificar para enviar exactamente el mismo evento como se mencionó anteriormente?
API Hello Analytics: inicio rápido de PHP para cuentas de servicio no te va a ayudar en nada. Ese código usa la API central de informes, la API central de informes es para solicitar datos de Google Analytics no envía datos a Google analitico.
Para enviar datos a Google Analytics utilizamos el Protocolo de medición. El protocolo de medición se usa para enviar información a Google Analytics, el fragmento de JS que publicaste también usa el protocolo de medición.
Puede usar el protocolo de medición desde cualquier idioma que admita la publicación HTTP o Http Get. Dicho esto, no existe una biblioteca específica de PHP para enviar información a Google Analytics, tendrá que formatear su publicación usted mismo. Un consejo sería usar Validación de visitas para verificarlo antes de enviarlo a Google mientras está desarrollando esto.
Probablemente se verá algo como esto
http://www.google-analytics.com/collect?v=1&tid=UA-XXX-Y&cid=35009a79-1a05-49d7-b876-2b884d0f825b&an=My%20Awesom%20APP&aid=com.daimto.awesom.app&av=1.0.0&aiid=come.daimto.awesom.installer &t=event&ec=list&ea=accounts&userclicked&ev=10
-
¡Gracias! Lo he visto, pero pensé que hay algunos métodos en la API mencionada para enviar. Entonces, ¿necesito solo POST u GET URL y eso es todo? Pero, ¿qué hacer con la autorización? ¿O eso debería enviarse solo desde un servidor registrado?
– aokozlov
25 de agosto de 2015 a las 9:28
-
No, el protocolo de medición es la única forma de enviar datos de seguimiento a Google Analytics. Las otras API son solo para solicitar datos y administración de cuentas.
– Linda Lawton – DaImTo
25 de agosto de 2015 a las 9:30
-
bueno, no es su URL, pero sí, puede ver la fuente del sitio web de alguien, obtener la identificación de seguimiento de Google Analytics y enviar datos basura a la cuenta de Google Analytics utilizando el protocolo de medición. Ya hay bots que hacen esto, se llama spam de referencia. Google está trabajando en el problema.
– Linda Lawton – DaImTo
25 de agosto de 2015 a las 9:32
-
Ahora lo estoy intentando pero no obtuve nada… Hice una carga útil:
v=1&t=event&tid=UA-XXXXXXXX-1&cid=b5d9730e-59bf-4d21-aef7-fe415f64e7eb&ec=test_category&el=test_label&ev=9999&ea=test_action
usando la herramienta ga-dev-tools.appspot.com/hit-builder. Después de eso, estoy tratando de enviarlo (desde la página del creador) pero no tengo ningún evento en mi análisis de Google.– aokozlov
25 de agosto de 2015 a las 9:43
-
Recuerde comprobar que los eventos de los informes en tiempo real no aparecerán en los informes estándar durante 24 horas.
– Linda Lawton – DaImTo
25 de agosto de 2015 a las 9:47
Hay una biblioteca PHP protocolo de medición php-ga por theiconic
en github que se puede usar para enviar datos usando Protocolo de medición.
use TheIconic\Tracking\GoogleAnalytics\Analytics;
// Instantiate the Analytics object
// optionally pass TRUE in the constructor if you want to connect using HTTPS
$analytics = new Analytics(true);
// Build the GA hit using the Analytics class methods
// they should Autocomplete if you use a PHP IDE
$analytics
->setProtocolVersion('1')
->setTrackingId('UA-26293728-11')
->setClientId('12345678')
->setDocumentPath('/mypage')
->setIpOverride("202.126.106.175");
// When you finish bulding the payload send a hit (such as an pageview or event)
$analytics->sendPageview();
bajo
Aquí hay un ejemplo de cómo hacerlo con PHP.
Primero construye tu solicitud con Creador de hits de Google Analyticspruebalo con https://google-analytics.com/debug/collect?_query_aquíy luego enviarlo con file_get_contents
(mira aquí).
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => 'v=1&t=transaction&tid=UA-xxxxxxx-x&cid=xxxxxx&ti=abcdef&tr=100&in=productname'
)
);
$context = stream_context_create($options);
$result = file_get_contents('https://www.google-analytics.com/collect', false, $context);
-
¿Cómo debemos configurar el CID?
– Felipe
3 de julio de 2022 a las 20:35
Ok, lo sé, pero de todos modos no he encontrado ningún método en esa API de GA para enviar eventos y necesito la ayuda del maestro.
– aokozlov
25 de agosto de 2015 a las 9:20
no es que sea un profesional con GA, pero que yo sepa, los eventos en GA solo se manejan con JS (ya que la mayoría de ellos son acciones de front-end). Esto se explica bastante paso a paso aquí: desarrolladores.google.com/analytics/devguides/collection/…
– Auris
25 de agosto de 2015 a las 9:21
Conozco los métodos JS (como mencioné anteriormente), pero tiene que haber una forma de enviar la misma información usando el lado del servidor.
– aokozlov
25 de agosto de 2015 a las 9:25
@DaImTo: siéntase libre de hacerlo, pero OP solicitó un “paso a paso”. Y aunque le diría si va por el camino equivocado, es necesario que yo sepa que, de hecho, va por el camino equivocado;)
– Epodax
25 de agosto de 2015 a las 9:41
@DaImTo No estoy de acuerdo, pero no voy a discutir mi punto en la sección de comentarios de una pregunta 🙂
– Epodax
25 de agosto de 2015 a las 9:44