GA4 Протокол измерения событие покупки не появляется в DebuugView при отправке из бэкэнда с использованием сохраненной _Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 GA4 Протокол измерения событие покупки не появляется в DebuugView при отправке из бэкэнда с использованием сохраненной _

Сообщение Anonymous »

Я пытаюсь отправить событие покупки в Google Analytics 4 , используя протокол измерения из моего бэкэнда Laravel. Я не использую gtag.js или Firebase-только запросы на стороне сервера.
Вот что я делаю:

[*] На переднем крае я извлекаю клиент_ид из _ga cookie, используя Javascript и отправить его в Backend (например, через файл _/li). /> i хранить это client_id в базе данных (связанный с пользователем или сеансом).
Позже, , когда пользователь завершает покупку (что может быть минутами или даже днями после начального посещения), я использую ранее сэкономив клиент. Протокол.

Код: Выделить всё

public function gtmPaidOrder() {
$clientId = $this->client_id; // previously saved from frontend _ga cookie

if (!$clientId) return false;

$measurement_id = 'G-XXXXXXX';
$api_secret = MY_SECRET;

$payload = [
'client_id' => $clientId,
'events' => [
[
'name'   => 'purchase',
'params' => [
'transaction_id' => $this->id,
'value'          => $this->getTotalPrice(),
'currency'       => $this->currency,
'items'          => [
[
'item_id' => '123',
'item_name' => 'Test Product',
'price' => 20,
'quantity' => 1
]
],
'debug_mode' => true
]
]
]
];

$url = "https://www.google-analytics.com/debug/mp/collect?measurement_id={$measurement_id}&api_secret={$api_secret}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

\Log::info('GA4 MP response', ['response' => $response]);
}
Google возвращает A 200 ok с помощью следующего тела:

Код: Выделить всё

{
"validationMessages": [ ]
}
Все остальные события, отправленные с фронта, появляются в debuugview , но это событие не происходит. Почему?

Подробнее здесь: https://stackoverflow.com/questions/796 ... n-sent-fro
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»