- Отслеживание конверсий Lightspeed лучше всего работает, когда каждый оплаченный заказ отправляется с сервера на основе данных заказа Lightspeed, а сниппет на странице благодарности связывает заказ с кликом по рекламе.
- ROASaurus подключается к Lightspeed eCom (C-Series) через его API на кластерах EU и US; E-Series — отдельный продукт и здесь не рассматривается.
- Одного клика по Create webhook достаточно, чтобы зарегистрировать в Lightspeed вебхук заказов, а ещё ROASaurus каждые 5 минут проверяет обновлённые заказы, так что поздние оплаты тоже подхватываются.
- Отправляются только заказы со статусом оплаты paid, со стоимостью по цене заказа с налогом.
- Заказы Lightspeed содержат IP-адрес и браузер покупателя, поэтому ROASaurus всё равно может сопоставить часть заказов, даже если сниппет на странице благодарности не сработал.
Отслеживание конверсий Lightspeed — это передача каждого оплаченного заказа в вашем интернет-магазине Lightspeed eCom в рекламные платформы, такие как Meta и TikTok, чтобы они могли засчитывать нужные объявления и оптимизировать ваши кампании. Надёжный способ — отправлять каждую покупку с сервера на основе данных заказа Lightspeed и добавить на страницу благодарности короткий сниппет, который связывает заказ с кликом по рекламе.
В этом руководстве рассказывается, к какому продукту Lightspeed оно относится, как заказы попадают в ROASaurus, что считывается из каждого заказа, как покупки доходят до Meta и TikTok, как выполнить настройку и тестирование и какие ограничения нужно знать.
Какой продукт Lightspeed охватывает это руководство?
Lightspeed продаёт не один e-commerce продукт, поэтому сначала проверьте свой. ROASaurus подключается к Lightspeed eCom (C-Series) — платформе интернет-магазинов, в админке которой есть раздел Settings › Website Settings › Web Extras. Его API работает на двух кластерах:
| Кластер | Адрес API | Регион в ROASaurus |
|---|---|---|
| EU1 | api.webshopapp.com | eu |
| US1 | api.shoplightspeed.com | us |
Каждый адрес API также содержит двухбуквенный код языка, например /nl/ или /en/. ROASaurus запрашивает его как язык магазина и использует nl, если вы оставляете поле пустым.
У Lightspeed есть также eCom (E-Series). Lightspeed описывает переход на E-Series как обновление до отдельного продукта, который сейчас предлагается некоторым торговцам из Северной Америки. Коннектор ROASaurus для Lightspeed считывает заказы только через API C-Series, поэтому магазины на E-Series он не охватывает.
Почему покупки Lightspeed пропадают в Meta и TikTok?
Пиксель в браузере сообщает о покупке, только если браузер покупателя загружает страницу благодарности и скрипт пикселя выполняется. Этого не происходит в нескольких распространённых ситуациях:
- Покупатель платит с перенаправлением, например через iDEAL или PayPal, и закрывает вкладку до загрузки страницы благодарности.
- Блокировщик рекламы или настройка приватности в браузере блокирует скрипт пикселя.
- Посетитель отклоняет маркетинговые cookie, поэтому пиксель не должен загружаться.
- Заказ оплачивается позже, например банковским переводом, когда браузер не участвует.
- Safari ограничивает срок жизни cookie, установленных скриптами, поэтому браузер может забыть более старый клик по рекламе.
- Требует загрузки страницы благодарности
- Блокируется блокировщиками рекламы и некоторыми браузерами
- Ничего не происходит, когда банковский перевод оплачен позже
- Значение и номер заказа — только если страница открыта
- Каждый заказ со статусом оплаты paid
- Отправляется с сервера на сервер, а не из браузера
- Поздние оплаты приходят со следующим обновлением заказа
- Значение, товары и данные клиента из заказа
Как заказы Lightspeed попадают в ROASaurus?
Когда вы нажимаете Create webhook, ROASaurus регистрирует в Lightspeed вебхук для группы orders и действия updated в формате JSON. С этого момента Lightspeed обращается к ROASaurus при каждом изменении заказа.
Почему ROASaurus считывает заказ повторно
Lightspeed добавляет к вебхуку заголовок x-signature только тогда, когда его создало приложение. Вебхук, созданный с обычным ключом API, как здесь, не подписан. Поэтому адрес вебхука содержит токен, уникальный для вашего магазина, а ROASaurus не доверяет содержимому запроса. Он сам считывает заказ и его товары из API Lightspeed и сам проверяет статус оплаты.
Проверка раз в 5 минут
Каждые 5 минут ROASaurus также запрашивает у Lightspeed заказы, обновлённые с момента последней проверки, с перекрытием в 30 минут, и записывает оплаченные заказы, которых у него ещё нет. Поскольку эта проверка использует время обновления, заказ, оплаченный через несколько дней после оформления, подхватывается, даже если доставка его вебхука не удалась. Заказы, которые у ROASaurus уже есть, игнорируются, поэтому вебхук и проверка никогда не создают две покупки.
Со стороны Lightspeed вебхук должен получить ответ 2xx в течение 5 секунд. Неудачные доставки повторяются, всего до 10 попыток, а вебхук, у которого доля ошибок остаётся выше 50% в течение 50 часов, отключается. Проверка каждые 5 минут продолжает получать заказы во время такого сбоя.
Что ROASaurus считывает из заказа Lightspeed?
| Поле Lightspeed | Что ROASaurus с ним делает |
|---|---|
number | Id заказа, например ORD01042. Он становится event id order-ORD01042, потому что страница благодарности показывает тот же номер. |
paymentStatus | Отправляются только оплаченные заказы. Неоплаченные, частично оплаченные и отменённые заказы пропускаются. |
priceIncl | Значение покупки с налогом. Валюта — валюта магазина, которую вы задали в ROASaurus. |
createdAt | Время события |
| Email, телефон или мобильный, имя и фамилия | Хешируются с помощью SHA-256 и отправляются как данные клиента |
| Город, почтовый индекс и страна платёжного адреса | Хешируются и отправляются как данные клиента |
remoteIp, userAgent | Отправляются вместе с событием и используются для сопоставления по IP |
| ID клиента | Хешируется и отправляется как внешний id |
| Товары заказа | Id варианта (или id товара), количество, цена с налогом, название и SKU |
Значение покупки включает НДС
priceIncl в Lightspeed — это цена заказа с налогом, и именно это значение отправляет ROASaurus. Поэтому ваши рекламные платформы сообщают выручку с НДС. Вот эффект при НДС 21%:
| Пример: 30 заказов | Отправленное значение (с НДС) | Выручка без НДС |
|---|---|---|
| Расходы на рекламу | $1,000 | $1,000 |
| Сумма покупки | $3,630 | 3,630 ÷ 1.21 = $3,000 |
| ROAS | 3.63 | 3.00 |
ROAS безубыточности считается по выручке без НДС. Прежде чем сравнивать эти два значения, разделите ROAS платформы на 1 плюс ставку вашего НДС.
Как заказ Lightspeed связывается с кликом по рекламе?
Чтобы засчитать объявление, платформе нужны идентификаторы кликов посетителя, сделавшего заказ: click id и id браузера Meta (fbc, fbp), click id TikTok (ttclid) и cookie TikTok (ttp). Скрипт ROASaurus сохраняет их для каждого посетителя, когда тот приходит из рекламы. ROASaurus не получает этот id посетителя из заказа Lightspeed, поэтому связывает каждый заказ с посетителем другим способом. Он пробует три метода в таком порядке:
| Метод | Как это работает | Что для этого нужно |
|---|---|---|
| 1. Сниппет на странице благодарности | Сниппет запускает покупку ROASaurus с номером заказа. ROASaurus находит это событие по его event id, order-ORD01042. | Сниппет в блоке Tracking |
| 2. Более ранний email | Хешированный email, который посетитель ранее указал на вашем сайте, в форме во всплывающем окне или через вызов Identify | Форма регистрации или вызов Identify |
| 3. IP-адрес и браузер | Тот же IP-адрес и браузер в период от 3 часов до заказа и до 15 минут после него, только если подходит ровно один посетитель | Ничего дополнительного |
Сниппет также передаёт сумму заказа, валюту и email клиента. ROASaurus сохраняет хеш этого email у посетителя, что помогает сопоставить следующий заказ того же покупателя. ROASaurus немного ждёт перед отправкой каждой покупки, чтобы событие со страницы благодарности успело прийти первым, и повторяет сопоставление в момент отправки.
Lightspeed variables used by the ROASaurus snippet (Tracking box) order.information.number order id and event id order-<number> order.information.price_incl value order.information.currency currency order.customer.email email, hashed on the visitor
На странице Orders в столбце Matched by показано, как был связан каждый заказ: thank_you, email, ip или not matched. Несопоставленный заказ всё равно уходит в ваши рекламные платформы с данными заказа, но без идентификаторов кликов, а атрибуция ROASaurus показывает его как прямой или неизвестный.
Отправка покупок Lightspeed в Meta и TikTok
Каждый оплаченный заказ становится одним серверным событием на каждую подключённую платформу: Purchase для Conversions API Meta и CompletePayment для Events API TikTok, оба с event id order-ORD01042. TikTok теперь показывает CompletePayment в отчётах как Purchase. Если вы отметите опцию загрузки также браузерного пикселя, сниппет на странице благодарности запускает те же события в браузере с тем же event id. Тогда Meta и TikTok оставляют одну копию.
- Event id, время события, значение и валюта
- Id товаров, количества и цены
- Хешированные email, телефон, имя, город, почтовый индекс и страна
- IP-адрес и браузер
- fbc и fbp, если заказ сопоставлен
- Event id, время события, значение и валюта
- Товары с id, названием, количеством и ценой
- Хешированные email и телефон
- IP-адрес и браузер
- ttclid и ttp, если заказ сопоставлен
Те же заказы отправляются в Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn и другие рекламные платформы, когда вы их подключите. Конверсии покупок Google Ads отправляются только из чекаута Shopify, поэтому из Lightspeed ROASaurus их не отправляет. О настройке со стороны Meta — в руководстве по Meta Conversions API.
Как настроить отслеживание конверсий Lightspeed
- Добавьте магазин в ROASaurus
Перейдите в Add a store, выберите Lightspeed eCom и введите адрес вашего магазина. На вкладке Connection появятся ваш тег скрипта и сниппет для страницы благодарности.
- Добавьте скрипт на каждую страницу
В админке Lightspeed перейдите в Settings › Website Settings › Web Extras › Custom JavaScript и вставьте тег скрипта. Lightspeed выполняет этот код на всех страницах.
- Добавьте сниппет для страницы благодарности
На той же странице в области Tracking включите Status и вставьте сниппет. Lightspeed запускает его на странице Thank You после заказа.
- Создайте ключ API
Перейдите в Settings › Store Settings › Developers › New API key. Включите ключ, отметьте доступ на чтение заказов, сохраните и нажмите Show, чтобы увидеть секрет.
- Подключите API
На вкладке Connection введите ключ, секрет, регион и язык магазина. Сохраните, нажмите Test connection, затем Create webhook.
- Подключите рекламные платформы
В Tracking & platforms используйте Connect with Facebook или Add pixel для Meta и Add pixel для TikTok — с кодом пикселя и токеном доступа к Events API. Отметьте опцию загрузки также браузерного пикселя.
API key (Settings › Store Settings › Developers)
API secret (select Show next to the key)
Region eu → api.webshopapp.com
us → api.shoplightspeed.com
Shop language nl, en, de ... (the code in your API addresses)Согласие
Вне Shopify скрипт ROASaurus считывает выбор посетителя из распространённых инструментов согласия: Cookiebot, OneTrust, баннеров IAB TCF и Google consent mode. При использовании другого cookie-баннера вызовите tlq('consent', true), когда посетитель принимает маркетинговые cookie, и tlq('consent', false), когда он отказывается. Пока посетитель не принял, у него нет visitor id и click id, а браузерные пиксели не срабатывают. Оплаченный заказ по-прежнему отправляется с сервера с хешированными данными клиента из заказа, а также с IP-адресом и браузером заказа. Подробности объясняет справочная страница о согласии.
Как протестировать отслеживание конверсий Lightspeed?
- Откройте свой магазин с
?roasaurus=connectedв адресе. Предупреждение подтвердит, что скрипт работает.?roasaurus=debugвыводит в консоль браузера то, что он отправляет. - В Event log, в разделе Collected events, просмотры страниц должны показывать visitor id.
- Оформите заказ и убедитесь, что его статус оплаты — paid. Тогда в разделе Collected events в Event log должен появиться Purchase с номером вашего заказа в данных. Если его нет, проверьте, что Status в области Tracking включён.
- На вкладке Connection поле Last order received показывает заказ, а Last sync — последнюю 5-минутную проверку и ошибку от Lightspeed, если она была.
- В разделе Server deliveries в Event log для каждой подключённой платформы появляется строка со статусом sent и ответом платформы.
PageView visitor 7d1e04b2Скрипт на каждой страницеPurchase order-ORD01042Сниппет страницы благодарности, браузерные пиксели сработалиwebhook orders updatedЗаказ ORD01042, статус оплаты paidMeta Purchase sentMatched by thank_youTikTok CompletePayment sentТот же event id, дедупликацияЧтобы увидеть событие в Meta, вставьте код из Events Manager › Test events в поле Test event code вашего пикселя Meta в ROASaurus и удалите его, когда закончите. В настройках пикселя TikTok в ROASaurus есть такое же поле.
Ограничения и особые случаи
- Только C-Series. Магазины Lightspeed eCom E-Series не могут использовать этот коннектор.
- Только оплаченные заказы. Частично оплаченный заказ отправляется, когда его статус оплаты меняется на paid.
- Поздние оплаты и 7-дневный лимит Meta. Meta принимает серверные события не позднее чем через 7 дней после времени события. ROASaurus использует время создания заказа, поэтому заказ, оплаченный более чем через 7 дней после оформления, Meta отклоняет.
- Покупки в браузере до оплаты. Сниппет на странице благодарности срабатывает при оформлении заказа, поэтому браузерные пиксели сообщают о заказе с банковским переводом до его оплаты. Если оплата приходит более чем через 48 часов, Meta и TikTok не могут объединить браузерную и серверную копии.
- Отмены и возвраты не отправляются. Как только покупка отправлена, она остаётся в рекламной платформе.
- Без кода — только просмотры страниц. Просмотры товаров и добавления в корзину определяются автоматически только в Shopify. В Lightspeed разработчик может отправлять их вызовом track через
tlq. - Лимиты API. Lightspeed разрешает 300 запросов за 5 минут, 3,000 в час и 12,000 в сутки на один ключ API. Если тот же ключ использует другой инструмент, лимиты у них общие. Lightspeed просит обращаться к ним за вторым ключом.
На странице интеграции Lightspeed собраны в одном месте все сведения о подключении, а справочная страница про другие интернет-магазины сравнивает Lightspeed с остальными платформами, к которым подключается ROASaurus.
Источники
- Lightspeed eCom (C-Series) Help Center: Adding a web tracking code
- Lightspeed eCom (C-Series) Help Center: Creating API keys
- Lightspeed eCom developers: Webhooks
- Lightspeed eCom developers: Order
- Lightspeed eCom developers: Rate limiting
В ROASaurus
- Интеграция с Lightspeed
- Справка: Wix, Lightspeed и другие интернет-магазины
- Серверный трекинг
- Интеграция с Meta