Google Analytics, попав на сервер Coldfusion cfhttp - PullRequest
1 голос
/ 12 августа 2011

Я использовал это: Создание событий Google Analytics (__utm.gif запросов) на сервере

и это: http://www.garyrgilbert.com/blog/index.cfm/2008/10/21/Tracking-Digital-Content

для создания строки cfhttp, чтобы при переходе пользователя на страницу он вызывал Google Analytics. Я делаю это так, потому что страницы, которые я обслуживаю, являются страницами XML, и я не могу смешать JavaScript с XML.

Моя проблема в том, что Google Analytics игнорирует мои запросы. Я активировал свой код сегмента на обычном html-сервере, поэтому он думает / знает, что он существует, но теперь, когда я вызываю любую из моих страниц xml-сервера и делаю запрос cfhttp с сервера coldfusion, он не регистрируется.

Обновление:

Следуя совету Сергея, я сделал дамп, чтобы выяснить, что делает cfhttp (раньше я пропускал переменную, которая приводила к ошибке), теперь я получаю http-возврат 200, хотя аналитика не применяется запрос на мой счет.

Обновление 2-го, включая код:

    <cfset var_utmac='UA-myUA'> <!--- enter the new urchin code --->
    <cfset var_utmhn='www.myaddress.co.uk'>
    <cfset var_utmn = RandRange(10000000,99999999)>
    <cfset var_cookie = RandRange(10000000,99999999)>
    <cfset var_random = RandRange(1000000000,2147483647)>
    <cfset var_today = now()>
    <cfset var_referer = #cgi.HTTP_REFERER#>
    <cfset var_uservar = 'jevans'>
    <cfset var_utmp= ''>
    <cfset apiname = 'listings.getlistings'>

    <cfhttp method="get" url="http://www.google-analytics.com/__utm.gif">
        <cfhttpparam type="url" name="utmwv" value="1" />
        <cfhttpparam type="url" name="utmn" value="#var_utmn#" />
        <cfhttpparam type="url" name="utmsr" value="-" />
        <cfhttpparam type="url" name="utmsc" value="-" />
        <cfhttpparam type="url" name="utmul" value="-" />
        <cfhttpparam type="url" name="utmje" value="0" />
        <cfhttpparam type="url" name="utmfl" value="-" />
        <cfhttpparam type="url" name="utmdt" value="#apiName#" />
        <cfhttpparam type="url" name="utmhn" value="#var_utmhn#" />
        <cfhttpparam type="url" name="utmr" value="#var_referer#" />
        <cfhttpparam type="url" name="utmp" value="#var_utmp#" />
        <cfhttpparam type="url" name="utmac" value="#var_utmac#" />
        <cfhttpparam type="url" name="utmcc" value="__utma%3D#var_cookie#.#var_random#.#var_today#.#var_today#.#var_today#.2%3B%2B__utmb%3D#var_cookie#%3B%2B__utmc%3D#var_cookie#%3B%2B__utmz%3D#var_cookie#.#var_today#.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D#var_cookie#.#var_uservar#%3B" />
    </cfhttp>

есть мысли?

ура

Ответы [ 4 ]

1 голос
/ 15 августа 2011

Глядя на ваш код, я предполагаю, что вам нужно заменить &amp в вашем коде обычными & символами.Вам нужно только избежать амперсандов для проверки XML-документов и тому подобного.Если вы отправите их по URL-адресу, они могут быть не распознаны как разделители.

Я бы на самом деле построил это так:

<cfhttp method="get" url="http://www.google-analytics.com/__utm.gif">
    <cfhttpparam type="url" name="utmwv" value="5.1.2" />
    <cfhttpparam type="url" name="utmn" value="#var_utmn#" />
    ... all your other URL variables
<cfhttp>

Это немного облегчит чтение вашего кода, а также убедитесь, что все ваши переменные передаются в формате свойства, без необходимости объединять огромную строку.

0 голосов
/ 12 июня 2013

Уверен, что cfset var_today = now () неверен. GA не знает, что такое объект даты / времени ColdFusion

0 голосов
/ 15 августа 2011

Возможно, вы захотите посмотреть, как это делается в этом классе PHP, и посмотреть, сможете ли вы адаптировать его к своему коду ColdFusion. Похоже, что это может быть больше, чем несколько параметров URl, которые нужно установить. Вероятно, вам нужно лучше смоделировать реальный браузер, чтобы GA думал, что вы настоящий браузер. http://code.google.com/p/serversidegoogleanalytics/

0 голосов
/ 15 августа 2011

Похоже, что некоторые из ваших параметров должны быть разных типов.Вы отправляете их все как параметры URL.Например, следует ли отправлять HTTP_REFERER как type = "CGI".

Глядя на мой собственный HTTP HTTP, я вижу, что в строке URL-адреса у меня есть utmr = -

Нозапрос также отправляется вдоль заголовка CGI для Referer: http://12robots.com/

Возможно, попробуйте добавить другой параметр с type = "CGI" name = "HTTP_REFERER" value = "# CGI.HTTP_REFERER #"

...