Мы отправляем события покупки с сервера с таким кодом:
using (var httpClient = new RestClient())
{
httpClient.SendAsync(new HttpRequestMessage
{
RequestUri = new Uri(url),
Method = HttpMethod.Get
});
}
Но около 15-20% событий никогда не регистрируются в GA. Кажется, что Google всегда отвечает GIF и кодом состояния 200, поэтому трудно сказать, какие события не обрабатываются успешно.
Вначале мы использовали javascript API для отправки события, но когда мы переключились на серверную сторону, мы скопировали запрос, который он создавал, и попытались реплицировать его с помощью HttpClient.
Отправка запроса выглядит следующим образом:
https://www.google-analytics.com/collect?v=1&_v=j47&a=817546713&t=event&ni=0&_s=1& dl = # scheme + host + pathAndQuery # & dp = # path # & dt = # path # & ul = # язык браузера # & de = # browser кодировка # & sd = # bit # & sr = # разрешение экрана # & vp = # видимая область браузера # & cid = # Идентификатор, взятый из _ga cookie # & je = 0 & fl = 24.0% 20r0 & ec = Электронная торговля & ea = покупка & _u = SCEAAAALI20% 25 ~ & jid = & tid = # TrackingId # & gtm = # TagManagerId # & ti = # OrderId # & ta = & tr = # TotalPrice # & tt = # TotalTax # & ts = # ShippingPrice # & tcc = # VoucherCode # & pa = Purchase & cu = # CurrencyCode # & pr1nm = # & pr1nm = # & pr1nm = # & PrducteName = # ProductId # & pr1pr = # ProductPrice # & pr1br = # Brand # & pr1ca = & pr1va = # Variant # & pr1qt = # Quantity # & z = # Уникальный идентификатор, генерируемый случайным образом #
Любые идеи о том, что не так или как его отлаживать, приветствуются.