Модуль от RetailFactory.ru: Полный Enhanced Google Ecommerce с поддержкой GA4

Добавлю еще от себя.
Сейчас перепроверил и реально у “соседей” отправляется событие только после того как я ставлю статус, что Внесена оплата/предоплата.
Единственно минус который приходит в голову, что это может случиться и через 7 дней после заказа. Но вот события через measurement протокол можно отправлять только в течении 72 часов.


Поэтому предлагаю если 72 часа не прошло, то отправлять время когда изначально был сделан заказ.
Если прошло 72 часа, то уже отправлять текущее время.
Лучше все это вынести настройкой. Соседний модуль такого не умеет, как видите на скрине ниже нет timestamp в запросе.

еще умные люди советуют отправлять session_id иначе в источниках трафика может оказаться non set


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


Теперь напишу почему все это важно.
Сейчас большинство рекламных кампаний гугла настроены на рентабельность инвестиций.
Например 3 000%. Вложил в рекламу 100 баксов, он тебе напродавал на 3000.
И вот недавно у меня пенсионерка наделала 8 заказов, и счастливый гугл считает, что он отработал с рентабельностью 25 000%.
И все… нет заказов теперь.
Потому что он сливает деньги на новые аудитории, ищет потенциальных покупателей.
И вот уже 3й день заказов нет…

А пенсионерка 6 из 8ми заказов аннулировала.
Т.о. реальная рентабельность 2 000%, а гугл еще несколько дней будет впустую тратить деньги.

П.с. я тут недавно курсы Осипенкова прошел, он мне грамоту дал почетную. Так что я вроде как теперь понимаю как это все должно работать… Кстати всем советую! Яков мегаучитель.


  1. это наверное уже баг.
    при возврате товаров или аннулировании заказа модуль не передает параметр

value -Ценность для электронной торговли
равный сумме возвращенных товаров или всего заказа при полном аннулировании
поэтому все возвраты в аналитики имеют ценность 0 и никак не влияют на Общий доход.

запрос модуля из журнала

Запросы (http/https запрос)
URL: https://www.google-analytics.com/mp/collect?measurement_id=G-12345678&api_secret=YsZ12345678o0_Ltiw
Запрос: ‘{“client_id”:“12345678.1709999317”,“events”:{“name”:“refund”,“params”:{“currency”:“RUB”,“items”:[{“item_id”:“114573”,“item_name”:“\u041a\u0443\u0445\u043e\u043d\u043d\u0430\u044f \u043c\u043e\u0439\u043a\u0430 Azario Grand CS00079902, \u0431\u0435\u0436\u0435\u0432\u044b\u0439”,“quantity”:“1”,“price”:“7035.00”,“item_category”:“\u041a\u0443\u0445\u043e\u043d\u043d\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430\/\u041c\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u043a\u0443\u0445\u043d\u0438”,“item_brand”:“Azario”,“item_variant”:“”,“currency”:“RUB”}],“transaction_id”:“36260”}}}’

справка гугла https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm&hl=ru#refund-gtm

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
event: “refund”,
ecommerce: {
currency: “USD”,
transaction_id: “T_12345”, // Transaction ID. Required for purchases and refunds.
value: 12.21,
coupon: “SUMMER_FUN”,
shipping: 3.33,
tax: 1.11,
items: [
{
item_id: “SKU_12345”,
item_name: “Stan and Friends Tee”,
affiliation: “Google Merchandise Store”,
coupon: “SUMMER_FUN”,
discount: 2.22,
index: 0,
item_brand: “Google”,
item_category: “Apparel”,
item_category2: “Adult”,
item_category3: “Shirts”,
item_category4: “Crew”,
item_category5: “Short sleeve”,
item_list_id: “related_products”,
item_list_name: “Related Products”,
item_variant: “green”,
location_id: “ChIJIQBpAG2ahYAR_6128GcTUEo”,
price: 9.99,
quantity: 1
}
]
}
});

1 лайк

Провел эксперимент с помощью https://ga-dev-tools.google/ga4/event-builder/
Передал событие refund вместе с value и все сработало.

В аналитике видна его ценность и она отнимается от общего дохода. Скрин прикрепил.

Поэтому таки value надо передавать в refund и он должен быть равен сумме заказа, если возврат полный, или сумме цен товаров, если мы удаляем некоторые из товаров из оплаченного заказа.

1 лайк

Добрый день!

По ценности - это разумеется баг, уже задача есть.

По остальным пунктам это очень тонкая настройка, в рамках модуля это не получится сделать к сожалению, очень сильно усложнит его настройку. Можем в рамках частной доработки для вас сделать.

Спасибо.

Второй пункт согласен наверное ближе к частной.
Но первый реализован у соседей.
Вы же лучше соседей! Не может же так быть, что у них есть, а у вас нет.
И вон коллега также это просит.

2 лайка

Добрый день! Когда ожидать выхода исправления бага?

Уважаемые коллеги, мы выпустили новую версию модуля.

В новой версии мы добавили выбор статусов заказов, которые будут отправлять событие Purchase.

Будем рады услышать ваши вопросы или пожелания.

1 лайк

Уважаемые коллеги, мы выпустили новую версию модуля.

В новой версии мы добавили интеграцию с GDPR модулем.

Будем рады услышать ваши вопросы или пожелания.

Уважаемые коллеги, мы выпустили новую версию модуля.

В новой версии мы добавили интеграцию с передачей данных о корзине при работе с Google Merchant Center.

Если вы размещаете свои товары в этой системе, данная интеграция будет очень полезной в работе.

Более подробная информация в инструкции Отслеживание конверсий с учетом данных корзины - Cправка - Google Реклама

Обновление будет доступно в центре обновлений.

1 лайк

Приветствую.
Это реальный кейс, кто то просил такое добавить?
Просто перечитал справку и совсем не понятно для чего оно.
Данные о корзине в рекламу поступают из GA4 в которую и передает модуль.
Для чего еще напрямую передавать в мерчант?

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

Думаю чтобы была полная статистика в GM )

В мерчанте даже колонки такой нет продажи или конверсии.

А еще могут быть фиды с одинаковым ярлыком.
Гугл их так и создает и изменить его потом нельзя, а язык разный.
Да и вообще фидов может быть множество.
Например отдельные для загрузки ночных “акций” или разных языков.
А в поле ввода модуля 1 настройка. Непонятно как настраивать.

В общем очень хотелось бы узнать мнение человека, который эту доработку захотел. Для чего она?

Фиды для 2х языков

1 лайк

Да, конечно просили, не просто так добавили.

Вы связываете конверсию и товары с конкретным прайс листом, в справке об этом указано.

Плюс мы делаем модуль выгрузки в google merchant доработанный, там будет и себестоимость. Интеграция google ecommerce + google merchant + enchanced conversions будет как единый пакет для нормальной работы с обьявлениями.

1 лайк

а если имеется 2 прайс листа (фида).
Два языка на сайте. Что вписывать в настройки? Для зарубежья это актуально.

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

Надеюсь вы тоже внедрите шаблон конструктора выгрузкт .
Т.к. для тонкой настройки рекламы нужны зачастую специфические выгрузки.
С выбором товаров определенных, с выгрузкой определенных характеристик(иногда скрытых), выгрузкой например только цен (чтобы сократить время генерации фида).

Вот такое.

Спойлер

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

Hi, it was me who requested this modification so let me answer some of your questions.

I’m providing google merchant center with information about cost of goods sold, some custom labels, etc in XML. Moreover I’m updating the information about products using Google Api so that whenever the prices or other product related information changes in my store then it’s reflected in real time in google system.

Thanks to that, I can split my products in campaigns (mostly performance max) into separate campaigns (e.g. by category, custom label, brand, seasonality etc.)

The idea behind implementing Cart Data is that I can get deeper insights into profitability of the campaigns and the google system should automatically adjust it’s machine learning mechanisms to assure profitability.

Let me give you an example. You create a campaign for brand A. In brand A you have products with different levels of margin. If you don’t provide the cart data information, than the system doesn’t know which transactions will be profitable. E.g. you have set the target ROAS to 1000% but break even for some products in this campaign can be lower than that, e.g. 500% in this case if the ML will adjust bidding for those products you will be at lost.

Moreover, I’m using dynamic pricing algorithms which study the market conditions and competitors offers so the margin and prices of my products can change even 6 times a day. That’s why it’s really important for me to get consistent data in reporting about profitability. I simply don’t want to sell products in loss. Knowing the cost of goods sold and the price at which I’m selling the products and deducting the expenses for the marketing campaigns per product should let me stay profitable and make better decisions. That’s theory. I will know more if this approach works after 2 - 3 weaks of testing.

1 лайк

Спасибо. За ваш ответ.
Пока я все равно не понял как текущее внедрение передачи корзины в мерчант вам поможет.
Вы же наверняка в перформанс макс передаете данные из GA4 и там уже есть данные о корзине и точный список купленных товаров.

There are 2 ways of implementation:

  1. using Google Ads
  2. Using Google Analytics

(Step 1: Choose and deploy an appropriate implementation method - Google Ads Help)

The current implementation uses second method. @a.shishkin has another addon that’s using Google Ads (enhanced conversions). Maybe it’s worth implementing it over there as well.

FYI, the information about cost of goods sold is stored in product feature that I’ve created. During upload to Google Merchant Center (using alexbranding addon advanced feed export) I’m passing this information to GMC. Next the GMC which is connected to Google Ads and Google Analytics is joining this information based on product_id