Urban steps. Кейс проблемного налаштування аналітики для інтернет-магазина на платформі Shopify

Кейс розрахований на РРС-спеціалістів, та на спеціалістів, які працюють з системами аналітики.

Дано: Інтернет-магазин на платформі Shopify.
Завдання: з’єднати акаунт Shopify з Google Analytics, підключити eCommerce, налаштувати торгові кампанії.

Дії (що було зроблено):

  1. Створили рекламний кабінет Google Ads та акаунт Google Analytics
  2. Підключили аналітику та eCommerce в кабінеті Shopify, за алгоритмом, який вказаний в офіційній довідці https://help.shopify.com/en/manual/reports-and-analytics/google-analytics/google-analytics-setup#step-4-turn-on-ecommerce-tracking
  3. Створили торгівельну кампанію напряму в кабінеті Shopify, запустили рекламу. Дані з рекламного кабінету Shopify автоматично тягнуться в акаунт Google Ads після їх з’єднання.

Проблеми та подальші дії:

1. Спостерігаємо за рекламою. Через тиждень бачимо наступну ситуацію: трафік йде, аналітика Shopify фіксує перші кілька транзакцій, однак в Google Analytics транзакції не передаються.

2. Ще раз перевіряємо зв’язування усіх облікових записів, налаштування в Shopify та Universal Analytics, звіряємось з офіційною довідкою, читаємо статті в інтернеті – все правильно. Приймаємо рішення додатково встановити GA4 через Google Tag Manager, бо через наявну версію Shopify поки що не можна напряму встановити GA4.

3. Встановлюємо Google Tag Manager та GA4, в якому також налаштовується eCommerce, налаштовуємо відстеження транзакцій в кабінеті Google Ads.

4. На данному етапі ми розуміємо, що без служби підтримки не обійтися, тому що транзакції в системах Google Analytics все рівно не фіксуються, хоча фактично продажі є, і ці транзакції коректно відображаються в кабінеті Shopify. Пишемо в службу підтримки Shopify, докладно пояснюємо ситуацію зі скріншотами, дуже швидко отримуємо відповідь, що в Shopify нами все налаштовано коректно, і треба звертатися до підтримки Google, тому ще проблема має бути з їх сторони.

5. Далі починається листування та консультації зі службою підтримки Google, на яких ми зі спеціалістами Google наживо в онлайн-форматі намагаємся розібратися, в чому проблема.

Що робили:
– Пробували підключати різні варіанти скриптів, які розташовували на сторінці “thank you”, які передають дані по транзакціям та товару. Зміни проводили в кабінеті Shopify: Settings → Checkout → Order status page – Additional scripts

– Пробували різні варіанти налаштувань eCommerce через GTM, проводили тестові покупки. На сторінці “thank you” за допомогою інструменту data layer checker ми збирали актуальні дані про параметри подій Transaction, Value, Items, після чого переносили їх в тег і дивилися результати – чи зафіксуються транзакції, чи ні.

Зупинились на таких налаштуваннях: Тег Transaction code GA4

з таким тригером:

В результаті ми все ж таки досягли того, що данні з аналітики Shopify почали надходити в Google Analytics, а звідти передаватися в обліковий запис Google Ads.

Підсумок:

  • кількість листів з техпідтримкою Гугл – 8
  • кількість онлайн консультацій з техпідтримкою Гугл – 6 (в цілому майже 5 годин)
  • кількість листів з техпідтримкою Шопіфай – 9
  • усього витрачено годин на цю частину роботи – більше 20-ти

Як результат – аналітика запрацювала, і ми змогли повноцінно продовживути аналізувати рекламну кампаниію і співпрацювати з клієнтом.

p.s. Приклад готового скрипта, який дав нам можливість все ж таки передавати дані в Google Analytics:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(‘js’, new Date());
  gtag(‘config’, ‘G-XXXXXXXXXX’);
{% if first_time_accessed %}
gtag(“event”, “purchase”, {
    transaction_id: “{{ order.order_number }}”,
    value: {{ total_price | times: 0.01 }},
    tax: {{ tax_price | times: 0.01 }},
    shipping: {{ shipping_price | times: 0.01 }},
    currency: “{{ order.currency }}”,
    items: [
    {% for line_item in line_items %}
    {
      item_id: “{{ line_item.product_id }}”,
      item_name: “{{ line_item.title | remove: “‘” | remove: ‘”‘ }}”,
      currency: “{{ order.currency }}”,
      price: {{ line_item.original_price | times: 0.01 }},
      quantity: {{ line_item.quantity }}
    },
    {% endfor %}
    ]
});
{% endif %}
</script>