Перейти к содержимому

ГайдыРекламные платформы11 мин чтения

Отслеживание конверсий Google Ads на Shopify: приложение Google & YouTube, тег конверсии в GTM или импорт офлайн-конверсий

Три способа получить конверсии Shopify в Google Ads: приложение Google & YouTube, собственный тег или офлайн-загрузка. Что каждый может и не может доказать.

Опубликовано
Проверено
Доставка через приложение, тег в браузере и офлайн-импорт: три отдельных маршрута конверсий.

Daniil MaximkinРазработка продуктов и интеграций

Короткий ответ

Google Ads может получить заказ Shopify из трёх источников: из приложения Google & YouTube, которое само сопоставляет события Shopify с действиями-конверсиями; из тега конверсии или конверсии, импортированной из GA4, которые вы создаёте и настраиваете; или из офлайн-загрузки, которая потом сопоставляет сохранённый идентификатор клика с заказом. Они различаются тем, кто владеет действием-конверсией, как дедуплицируются заказы и что вы можете проверить по данным Shopify.

Даниил

Главное

  • Приложение Google & YouTube владеет сопоставлением и само создаёт действие-конверсию для покупки. Вы выбираете места назначения и можете добавить свои ID и метку конверсии, но параметры тега и сопоставление поддерживают Google и Shopify.
  • В собственном теге конверсии вы задаёте transaction_id, формулу value, правила согласия и данные Enhanced Conversions. Тестирование тоже остаётся за вами: Google не поддерживает свои теги внутри кастомного пикселя Shopify.
  • Google Ads дедуплицирует по transaction ID только внутри одного действия-конверсии. Два действия-конверсии, считающие одну покупку, дают две конверсии, даже в одной кампании.
  • Корректировки загружаются отдельно, это не событие: в Google можно пересмотреть или отозвать конверсию, записанную с transaction ID, с любого пути. Событие возврата само по себе покупку в Google Ads не меняет.
  • Ни один из трёх вариантов не заставит Google Ads совпасть с Shopify. Действовать стоит по той цифре, которую вы сверили с выгрузкой заказов.
В этом гайде

Google Ads может показать конверсию по заказу Shopify и не объяснить, откуда взялась цифра. В один аккаунт данные поступают по трём разным пайплайнам, и каждый записывает результат в действие-конверсию с похожим названием.

Гайд сравнивает их по принципу работы: что отправляет конверсию, кто владеет действием, как дедуплицируется заказ, как учитывается согласие и что каждый вариант может доказать по выгрузке заказов Shopify. Победителя он не выбирает, цен вендоров не приводит (смотрите страницу приложения Google & YouTube) и варианты не ранжирует.

Что приложение Google & YouTube отправляет в Google Ads?

Приложение Google & YouTube разработано Google как приложение канала продаж Shopify. Оно загружает теги Google в магазин, сопоставляет стандартные события Shopify с местами назначения, которые вы выбираете, и, когда вы привязываете аккаунт Google Ads, само создаёт действие-конверсию для покупки. Сопоставление поддерживают Google и Shopify.

Вы подключаете аккаунт Google, привязываете аккаунт Google Ads, затем просматриваете события и места назначения Shopify. После привязки аккаунта purchase, add to cart и checkout started предлагаются по умолчанию. Проверьте для каждого действия настройку primary или secondary и цели ставок кампании, а не считайте, что действия, не связанные с покупкой, только наблюдательные. Для каждого события можно создать действие, выбрать существующее, пропустить его или вставить собственное назначение AW-CONVERSION_ID/CONVERSION_LABEL или Floodlight.

Подключение Google Analytics выполняется отдельным шагом: приложение может также отправлять события Shopify в ресурс GA4, а конверсия Google Ads, созданная из key event purchase в GA4, будет отдельным действием. Дедупликация по transaction ID работает внутри одного действия, поэтому эти два действия не объединяются: два действия, считающие один заказ, дают две конверсии.

Дедупликацию чаще всего упускают из виду. Google описывает подключение через Data Manager, при котором Shopify отправляет конверсии покупок с сервера на сервер, дедуплицируя их с событиями тега Google внутри действия-конверсии до атрибуции. Поддерживается только событие Checkout completed.

Эти ограничения заложены в способ подключения. Приложение поддерживает стандартную настройку событий и тега; Google указывает, что некоторые кастомные настройки и кодовые доработки недоступны и что настройки приватности и функций, заданные в коде, не переносятся. Google также указывает, что Tag Manager через приложение настроить нельзя и что напрямую можно привязать только один аккаунт Google Ads: остальные добавляются вручную по ID и метке.

Что на самом деле делает собственный тег конверсии?

Тег конверсии вы размещаете сами: это код, который отправляет конверсию с выбранными вами параметрами. В Shopify он работает как кастомный web pixel: подписывается на события покупателя Shopify и читает идентификатор и стоимость (value) заказа из события чекаута. В Tag Manager вы собираете тег Ads, ссылаетесь на этот динамический transaction_id и добавляете Conversion Linker.

Shopify загружает web pixels в песочнице в браузере посетителя, и позиция Google однозначна: запуск тегов Google внутри функции кастомных пикселей Shopify не поддерживается. Данные при этом могут уходить, а функции не работать, и поддержка Google такие проблемы не рассматривает. В песочнице пикселя могут не работать режим Preview, многие типы триггеров и переменных, Enhanced Conversions и URL passthrough в Consent Mode.

Сначала определите, как будет формироваться transaction ID. Google Ads сохраняет первую обработанную конверсию для конкретного действия-конверсии и transaction ID, а вторую с тем же ID считает дублем и не учитывает. ID должен быть динамическим для каждого заказа, уникальным, не длиннее 64 символов и без персональных данных. Повторное использование статического ID занижает число конверсий; при пустом ID эта защита от дублей отсутствует. ID, который не совпадает точно на двух путях, не даёт понять, что это одна и та же конверсия.

window.dataLayer = window.dataLayer || [];
// Hypothetical order payload; values come from the order, never a fixed amount.
window.dataLayer.push({
  event: 'purchase',
  transaction_id: order.id,    // dynamic, unique per order, no personal data
  value: order.total,          // dynamic: the order's own value
  currency: order.currency     // dynamic: the store's currency
});

Вместо собственного тега можно создать конверсию в Google Ads из key event Google Analytics. Для этого нужны связанные аккаунты и auto-tagging, а gclid не должен изменяться или теряться при редиректах. Такие конверсии стартуют как secondary, а категория цели и оптимизация действия редактируются только в Google Ads, не в интерфейсе Analytics. Импорт из Analytics также не приносит конверсии view-through: для них нужно нативное измерение Google Ads.

За согласие тоже отвечаете вы: вы настраиваете состояние согласия по умолчанию для ad_storage, analytics_storage, ad_user_data и ad_personalization (по умолчанию Google не задаёт никаких значений consent mode) и обновляете его после выбора посетителя. Базовый режим блокирует теги Google до согласия; расширенный загружает их и отправляет измерения без cookie, пока согласие отклонено. Для Enhanced Conversions нужны нормализованные собственные (first-party) данные, хешированные SHA-256 в hex-формате. (Речь о технической реализации, это не юридическая консультация.)

Что измеряет импорт офлайн-конверсий, чего не может браузер?

Импорт офлайн-конверсий записывает конверсию по идентификатору, который вы сохранили раньше, а не по запросу в момент конверсии. Вы получаете идентификатор клика на посадочной странице, храните его вместе с записью заказа или лида и позже загружаете результат с датой, временем, value и ID заказа.

Механизм описан в документации: auto-tagging должен быть включён, gclid добавляется к URL посадочной страницы, и Google рекомендует считывать его на каждой странице и хранить вместе с заказом. Он чувствителен к регистру, и импорт из файла опирается именно на него. Обязательны действие-конверсия, дата и время; ID заказа, value и валюта необязательны, а если value не указан, используется число, заданное в действии. Google описывает поддержку GBRAID для импорта с внешней атрибуцией, поэтому уточните, какие идентификаторы поддерживает ваш интерфейс, а не считайте их взаимозаменяемыми.

Так можно подтвердить результат, которого браузер не видит: результат вне сайта, например продажу по телефону или подписанный договор, и точно так же покупку, сигнал о которой из браузера не дошёл, если идентификатор был сохранён. Без идентификатора нет клика, который можно сопоставить.

Важен график загрузок. Актуальные рекомендации Google: импорт файлов вести через Data Manager, загрузки по API через Data Manager API. Классический импорт офлайн-конверсий считается устаревшей функцией. После создания действия-конверсии Google советует подождать 4–6 часов до первой загрузки. Google рекомендует включать лишний день данных, потому что конверсии в пределах одного дня после клика могут быть ещё не записаны; обработка может занимать 24–48 часов. Новые конверсии и корректировки держите в разных файлах. Повторяющиеся идентификатор, название конверсии, дата и время считаются дублями.

Возвраты обрабатываются корректировками конверсий, а не тегом, причём не только для офлайн-импорта: любую онлайн-конверсию, записанную с transaction ID, можно пересмотреть или отозвать, в том числе покупку из приложения или тега. RESTATE меняет value и сохраняет число конверсий; RETRACT исключает конверсию из подсчёта и обнуляет её value, и повторно корректировать её нельзя. Корректировки привязываются к ID заказа вместе с названием действия-конверсии или к gclid и времени конверсии, если у конверсии не было ID заказа; с gbraid работает только ID заказа. Google советует загружать корректировки не раньше чем через 24 часа после исходной конверсии, указывает, что автоматические ставки учитывают корректировку только в течение 7 дней после первой записи конверсии, а в отчётах корректировки принимаются в течение 54 дней, и рекомендует загружать каждый заказ, потому что Ads не может определить, какие заказы пришли с его кликов, так что строки с ошибками ожидаемы. Преемником от Google стал Enhanced Conversions for Leads; он тоже сопоставляет хешированные данные, предоставленные пользователем.

Сравнение вариантов

Приложение требует меньше всего работы и даёт меньше всего возможностей настройки; собственный тег даёт параметры, контроль согласия и дедупликацию, но требует сопровождения; офлайн-импорт остаётся единственным путём, который записывает результат вне сайта. Все три подчиняются одним и тем же правилам про transaction ID и согласие, и ни один не заменяет сверку с вашими заказами.

КритерийПриложение Google & YouTubeСобственный тег конверсии (GTM или кастомный пиксель)Импорт офлайн-конверсий
Источник событийСобытия Shopify, сопоставленные приложениемВаши подписки, тег и триггерыСохранённый идентификатор клика
Покупки и возвратыПокупка сопоставлена за вас; возвраты требуют отдельной корректировкиПокупку определяете вы; возвраты требуют отдельной корректировкиЗаписывает результаты вне сайта; возвраты через корректировку
ДедупликацияВнутри действия, включая передачу с сервера на серверВаш transaction_id, одно действиеID заказа или идентификатор плюс время
СогласиеAPI приватности пикселей ShopifyВаши значения по умолчанию Consent Mode и ограниченияТребования согласия действуют и при загрузке
Владение даннымиСопоставление у Google и Shopify; события попадают в привязанный аккаунт AdsТег, параметры и назначение администрируете выПолучение, хранение и место загрузки под вашим контролем
ЗависимостьПриложение, канал продаж, сопоставление GoogleПесочница Shopify, GTM, ваш кодВаш бэкенд и загрузка в Ads
СопровождениеСопоставление поддерживает вендорВы сопровождаете схемы и тестыВы сопровождаете получение данных и расписание
Кому подходитМинимум кода, стандартные событияПараметры, которых нет в приложенииРезультаты вне сайта

Таблица решений

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

Если ваша ситуация …Выбирайте …
Вам нужно измерение покупок без кода, который придётся поддерживатьПриложение Google & YouTube
Вам нужен value, параметр или контроль согласия, которых нет в приложенииТег конверсии, который вы собираете
Конверсией служит лид вне песочницы ShopifyТег GTM или импортированный key event GA4
Результат происходит вне сайта или спустя долгое время после кликаОфлайн-импорт или Enhanced Conversions for Leads
Возвраты должны перестать завышать отчётный valueКорректировки конверсий по ID заказа
Вы используете приложение и думаете о втором тегеСначала уберите один путь, потом проверяйте
Симптом в том, что Google Ads и Shopify расходятсяНи один: начните со сверки

Когда какой вариант не подходит

Приложение не подходит, когда нужна конфигурация, которой в нём нет; тег не подходит, когда его некому сопровождать; импорт не подходит, когда идентификатор никогда не сохранялся.

Не берите приложение Google & YouTube, когда:

  • Вам нужно событие возврата, собственная формула value или параметр, которого нет в сопоставлении.
  • Вам нужны теги Google в Tag Manager на страницах чекаута: Google указывает, что приложение не может их настроить, а в кастомном пикселе они не поддерживаются.
  • Вы хотите настраивать все места назначения в одном месте: приложение напрямую привязывает один аккаунт Google Ads, а дополнительные добавляются вручную по ID и метке конверсии или по тегу Google.

Не берите собственный тег конверсии, когда:

  • Им никто не будет заниматься: каждое изменение схемы Shopify придётся замечать и исправлять.
  • Вы полагаетесь на режим Preview, Tag Assistant или диагностику конверсий внутри песочницы пикселя: Google описывает, что часть из этого там не работает.
  • Вам нужна поддерживаемая Google конфигурация на страницах чекаута.

Не берите импорт офлайн-конверсий, когда:

  • Идентификатор не считывали и не сохраняли до заказа: сопоставлять нечего.
  • Вы хотите, чтобы он заменил измерение на сайте: он дополняет работающий тег, а не чинит сломанный.
  • Расписанием никто не занимается: при задержке импорта данные действия-конверсии расходятся с фактическими результатами.

Как я проверяю это на реальных внедрениях

Я считаю конверсии по заказам и объясняю каждое расхождение: один заказ, одна конверсия на каждое действие, которое вы собираетесь считать, с непустым transaction ID, одинаковым на каждом пути.

  1. Перечислите все действия-конверсии, которые могут считать покупку. Изучите Action optimization, стандартные цели, к которым относятся эти действия, и любые пользовательские цели. Действия primary участвуют в ставках, когда в ставках участвует их стандартная цель; действия secondary всё равно попадают в All conversions, а действие в пользовательской цели участвует в ставках, даже если оно secondary.
  2. Найдите каждый путь, который отправляет покупку. Просмотрите Customer events и настройки приложения в Shopify, а также любой тег конверсии Ads в Tag Manager. За покупку должен отвечать один путь.
  3. Проведите один реальный тестовый заказ от начала до конца. Смотрите в Tag Assistant и GTM Preview там, где они работают, в GA4 DebugView (событие и его transaction_id) и в диагностике конверсий (статус действия). Проверьте больше одного маршрута чекаута.
  4. Сверьте ключ с заказом. Он должен быть непустым, уникальным для этого заказа и одинаковым везде, где встречается.
  5. Проверьте настройки, от которых зависит показатель. Метод подсчёта, окно атрибуции, источник value и статус primary или secondary определяют, что означает показатель; у конверсий, импортированных из Analytics, могут быть другие редактируемые настройки.
  6. Проверьте возврат. Оформите один возврат, загрузите корректировку и прочитайте отчёт о загрузке, чтобы убедиться, что строка сопоставилась. Отозванную конверсию корректировать повторно нельзя, а удалённую конверсию сайта нельзя вернуть в отчёты. Для офлайн-импорта со способом подсчёта «каждая конверсия» Google описывает повторную загрузку с чуть более поздней меткой времени. Я тестирую на заказе, который не жалко потерять.
  7. Сверьте закрытый период. Сравните конверсии Ads за завершённый период с выгрузкой заказов Shopify и запишите, почему они расходятся, по методу сверки заказов.

Типичные сбои

Большинство сбоев типичны: два пути работают одновременно, пустой ключ, value определён по-разному с каждой стороны или загрузка выбилась из графика.

  • Два пути, один заказ. Инструкции Google требуют проверять дубли тегов и удалять устаревшие; два действия в одной кампании могут посчитать заказ дважды.
  • Transaction ID, который отличается между путями. Префиксы, суффиксы и лишние пробелы ломают дедупликацию, а ID, повторно использованный в разных заказах, занижает число конверсий.
  • Идентификатор считан, но не сохранён. gclid, прочитанный на посадочной странице и ни разу не прикреплённый к заказу, не оставляет ничего для последующей загрузки.
  • Загрузки до того, как готово действие или данные. После создания действия-конверсии подождите 4–6 часов до первой загрузки и включайте лишний день в каждый импорт. Загружайте корректировки не раньше чем через 24 часа после исходной конверсии. Обработка может занимать 24–48 часов; принятый файл не доказывает, что каждая строка получила атрибуцию.
  • Допущения про песочницу. Теги, которые рассчитывают на режим Preview, полный набор триггеров или URL passthrough внутри кастомного пикселя Shopify, ведут себя иначе.
  • Consent mode воспринимают как обход. В базовом режиме до согласия в Google не должно уходить ничего; в расширенном режиме теги загружаются и при отклонённом согласии отправляют измерения без cookie. Проверяйте состояние согласия, которое получают теги, а не только то, что запрос ушёл из браузера.

Ограничения

У всех трёх путей одно и то же исходное ограничение: должен быть идентификатор, и он должен сохраняться от клика до записи результата.

Приложение запускает и тег Google в магазине, и серверную интеграцию для события чекаута; собственный тег доставляется из браузера, а импорт зависит от получения идентификатора, хранения и расписания, которые вы сопровождаете. Ни один из них не заставит Google Ads совпасть с Shopify: Ads отчитывается об атрибутированных, view-through и смоделированных конверсиях внутри своих окон и моделей, а Shopify считает заказы из всех источников, поэтому разрыв объясняют сверкой, а не подгонкой настроек. Transaction ID в Google Ads не отображаются, поэтому сверка остаётся агрегированной. К тому же всё это быстро меняется: миграция чекаута Shopify и переход Google на Enhanced Conversions for Leads изменили описанный в документации путь.

Альтернативы

Если вас беспокоят потери из-за заблокированных или обрезанных запросов, а не сопоставление, проверяйте доставку данных: см. гайд по серверному трекингу.

Если сломано само событие покупки, пересоберите его по гайду Как исправить событие purchase в GA4 на Shopify, а если открытым остаётся вопрос о настройке согласия, начните с Consent Mode v2. О настройках аккаунта (действия-конверсии, определения value и аккуратность с gclid) см. отслеживание конверсий Google Ads, а для результатов, которые вообще не затрагивают сайт, отслеживание офлайн-конверсий. Если симптом в расхождении, начните с материалов конверсии Google Ads не совпадают с GA4 или сломался трекинг чекаута Shopify.

Если гайд не решил вопрос25 000 ₽

Я провожу эту сверку на вашем магазине в режиме только чтения, за 25 000 ₽: письменный вывод через два рабочих дня после старта.

Источники

  1. Google: Set up conversion tracking with the Google & YouTube app on Shopify (прочитано 2026-10-08)support.google.com
  2. Google: Shopify: Set up your Google tag (прочитано 2026-10-08)support.google.com
  3. Google: Migrate your Google tags with the Google & YouTube app on Shopify (прочитано 2026-10-08)support.google.com
  4. Google: Limitations of using a custom pixel for conversion measurement on Shopify (прочитано 2026-10-08)support.google.com
  5. Google: Shopify (Google Ads Data Manager connection) (прочитано 2026-10-08)support.google.com
  6. Google: Use a transaction ID to minimize duplicate conversions (прочитано 2026-10-08)support.google.com
  7. Google: Create Google Ads conversions based on Google Analytics key events (прочитано 2026-10-08)support.google.com
  8. Google: About offline conversion imports (прочитано 2026-10-08)support.google.com
  9. Google: Set up offline conversions using Google Click ID (GCLID) (прочитано 2026-10-08)support.google.com
  10. Google: Import conversions from ad clicks using files (прочитано 2026-10-08)support.google.com
  11. Google: About conversion adjustments (прочитано 2026-10-08)support.google.com
  12. Google: How to adjust your conversions (прочитано 2026-10-08)support.google.com
  13. Google: About primary and secondary conversion actions (прочитано 2026-10-08)support.google.com
  14. Google: About enhanced conversions (прочитано 2026-10-08)support.google.com
  15. Google: Set up consent mode on websites (прочитано 2026-10-08)developers.google.com
  16. Google: Consent mode overview (прочитано 2026-10-08)developers.google.com
  17. Shopify: About web pixels (прочитано 2026-10-08)shopify.dev
  18. Shopify App Store: Google & YouTube (прочитано 2026-10-08)apps.shopify.com

Вопросы

Вопросы, на которые отвечает этот гайд

Можно ли одновременно запустить приложение Google & YouTube и собственный тег конверсии?

Можно, и обычно именно так начинается дублирование измерения. В инструкциях Google по настройке рекомендуется проверять дубли тегов там, где конверсии есть и в приложении, и на витрине или в кастомном пикселе, и удалять устаревшие теги. Google Ads убирает дубли только внутри одного действия-конверсии, поэтому если два действия считают покупку и оба участвуют в одной кампании, один заказ может посчитаться дважды. Выберите один путь для покупки, переключайтесь осознанно и тестовым заказом убедитесь, что один заказ даёт одну конверсию.

Почему конверсии Google Ads не совпадают с заказами Shopify?

Потому что они отвечают на разные вопросы. Google Ads отчитывается по собственной атрибуции: конверсии по кликам и по просмотрам (view-through) внутри своего окна плюс смоделированные конверсии, когда согласие ограничивает измерение; transaction ID он не показывает, поэтому сопоставить каждую конверсию с одним заказом нельзя. Shopify считает заказы из всех источников, включая прямой трафик, email и органику. Определения value тоже могут различаться: допустим, Shopify показывает подытог после скидок, а тег отправляет сумму до скидок; у такого разрыва есть понятная причина, и это не сломанный тег. Сверяйте закрытый период с выгрузкой заказов, а не подгоняйте цифры ради точного совпадения.

Работает ли импорт офлайн-конверсий для магазина Shopify?

Да, если вы можете сохранить идентификатор клика вместе с заказом и позже загрузить результат. Автоматическая пометка (auto-tagging) должна быть включена, gclid нужно считывать на посадочной странице и хранить в записи заказа, а в файле импорта должны быть указаны действие-конверсия, дата и время. ID заказа, value и валюта необязательны: если оставить value пустым, Google Ads применит значение, заданное в действии. Google описывает поддержку GBRAID для импорта с внешней атрибуцией, поэтому уточните, какие идентификаторы поддерживает ваш интерфейс. Без сохранённого идентификатора нет клика, который можно сопоставить.

Позволяет ли что-то из этого отслеживать людей, отказавшихся от согласия?

Нет. Google по умолчанию не задаёт значений consent mode: вы настраиваете их сами и обновляете после выбора посетителя. В расширенном режиме consent mode теги всё равно загружаются и при отклонённом согласии отправляют измерения без cookie; полные данные измерения отправляются только после согласия. Customer Privacy API Shopify вызывает коллбэки пикселей в регионах с обязательным согласием только после того, как посетитель дал согласие на нужные цели, а затем воспроизводит более ранние события. Поэтому срабатывание тега после отказа само по себе не доказывает проблему с соблюдением требований, а вот любой способ обойти отказ уже такая проблема. У офлайн-загрузок свои обязательства по согласию. Речь о технической реализации, это не юридическая консультация.

Daniil Maximkin

Здравствуйте, я Даниил.

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

Попробовали и всё равно не выходит?

Опишите задачу

Отвечу в течение одного рабочего дня. Первый ответ бесплатный. Или напишите напрямую: next@taskfordaniel.com

Обсудить задачу

Расскажите, что нужно разработать, исправить или подключить.

Описать задачу next@taskfordaniel.com