2016-01-06 6 views
3

то, что я попытался это,Как использовать протокол измерения для настольного приложения

[с POST]

jQuery.support.cors = true; 

$.ajax({ 
    url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456", 
    type : 'POST', 
    cache : false, 
    dataType : 'json', 
    success:function(data) { 
     alert("Success: " + JSON.stringify(data)); 
    }, 
    error: function(data) { 
     alert("Failure: " + JSON.stringify(data)); 
    } 
}); 

или [с ГЭТ]

jQuery.support.cors = true; 

$.ajax({ 
    url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456", 
    dataType : 'json', 
    success:function(data) { 
     alert("Success: " + JSON.stringify(data)); 
    }, 
    error: function(data) { 
     alert("Failure: " + JSON.stringify(data)); 
    } 
}); 

OnClick кнопки я добавил этот код.

Я получаю статус 200, но в отчете Google Analytics [данные в реальном времени] его показ Нет активных пользователей. И если я проверю предыдущие отчеты дня, показывая некоторые подсчеты для пользовательских сеансов.

+0

Мой аякс очень ржавый, но вы уверены, что именно так вы отправляете HTTP POST? Выглядит больше как HTTP Get с данными о сообщениях, прикрепленными к концу, как get. – DaImTo

+0

запрос можно отправить методом GET. Я обновил код. –

+0

, вероятно, не связано, но мне просто интересно, что такое & z =? значение события ev = – DaImTo

ответ

3

Похоже, что в протоколе измерения обрабатываются события. Я создал проблему для этого здесь: Issue 848: Events not showing up on Real-time reports

Вы не отправляете переменные приложения, данные не будут отображаться в отчетах в режиме реального времени. Как только вы отправляете запрос с ним, они снова появляются, но вы теряете их, если вы отправляете другое событие без него. В настоящий момент это не документ, требуемый переменными приложения. Также отладка по вашему запросу возвращается с действительными данными о хите.

https://www.google-analytics.com/debug/collect?v=1&tid=UA-xxxxx-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456 

{ 
    "hitParsingResult": [ { 
    "valid": true, 
    "parserMessage": [ ], 
    "hit": "/debug/collect?v=1\u0026tid=UA-xxxxx-1\u0026cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4\u0026t=event\u0026ec=UX\u0026ea=click\u0026z=123456" 
    } ], 
    "parserMessage": [ { 
    "messageType": "INFO", 
    "description": "Found 1 hit in the request." 
    } ] 
} 

Решение/работа вокруг:

Добавьте следующие элементы в запросе должны исправить эту проблему. Опять же в это время не документировано, что они требуются. Однако мое тестирование показало, что когда вы отправляете эти данные, все снова отображается правильно в отчетах в режиме реального времени.

cd=ScreenName&an=ApplicationName&aid=ApplicationId&av=3.0&ai‌​id=1.0 
+0

Обновление: Я слышал от Google, что они изучают его. Неясно, есть ли проблема с отчетами в реальном времени или стандартными отчетами. – DaImTo

0

Я считаю, что это не техническая проблема, а проблема совместимости данных. ИДС вы использовали не выпирал GA структуры ИДС, которая [10 цифр] [точка] [10 цифр], т.е. 1234567890,1234567890 Try, чтобы заставить другой идентификатор, чтобы проверить мое решение.

+0

как сгенерировать cid? –

+0

Я протестировал его, это ошибка. Не связанный с CID CID может быть любым, что вы хотите. – DaImTo

0

Какие возможные проблемы у вас есть:

  1. Надежда "UA-XXXXXXXX-1" - это просто для примера кода, и вы используете "реальный" GA ID в коде.
  2. Что касается идентификатора клиента: в GA docs вы можете увидеть идентификатор клиента, например, «35009a79-1a05-49d7-b876-2b884d0f825b». Но этот идентификатор ClientID должен соответствовать некоторым идентификаторам ClientID для пользователей веб-сайта, которые посетили ваш сайт. Без конкретных настроек GA не будет генерировать ClientID, например, «35009a79-1a05-49d7-b876-2b884d0f825b», поскольку GA автоматически генерирует ClientID в формате XXXXXXXXX.XXXXXXXXXX, например «1068584379.1447331221».

Как найти идентификатор клиента вручную: найдите «_ga» cookie для своего веб-сайта, он должен выглядеть как «GA1.2.1068584379.1447331221». ClientID - 1068584379.1447331221 в этом файле cookie.

Как получить этот параметр в JS-srcipt:

ga(function(tracker) { 
    var clientId = tracker.get('clientId'); 
}); 

Помните, что ClientID идентифицирует каждый уникальный пользователь (браузер) и связывает пользовательские данные, отправленные по протоколу измерения, с пользовательскими данными, собранных на клиенте -side (в библиотеке GA js). Поэтому для просмотра данных (отправленных протоколом измерений) в отчетах GA предпочтительнее использовать «настоящий» ClientID, для пользователя, который посещал веб-сайт в прошлом.