Цель проекта: Реализовать корректную передачу конверсий в сеть CityAds по схеме Postback Last Paid Click — фиксировать оплату заказа как конверсию и отправлять postback с необходимыми параметрами (order_id, click_id, campaign_secret, order_total и т.д.). Учесть отмены/возвраты (аннулирование конверсии) и оставить в заказе метку о CPA (для аналитики).
Что нужно было сделать:
- Корректно собирать и передавать click_id / wm_id / offer_id из трекинговой ссылки.
- Отправлять postback только при оплате (Last Paid Click); если оплата отменена/возврат - отменять конверсию.
- Обеспечить тестирование и подтверждение у CityAds (включая тестовые ссылки).
- Пометить заказы в InSales меткой/доп.полем, чтобы понимать, что заказ пришёл с CPA (CityAds). InSales по умолчанию не всегда записывает utm корректно — требуется решение через API.
- Установить TPM-коды (трекеры) по рекомендациям CityAds из документации.
Решение
Функционал корректной передачи конверсий в сеть CityAds по схеме Postback Last Paid Click включает в себя:
- Развернули механизм сбора меток из трекинговой ссылки
— при переходе с CityAds в параметры URL добавляются click_id, wm_id, utm_* и т.д.; эти значения сохраняются (например, в cookie / session / localStorage) до оформления заказа, чтобы передать их при postback.
- Реализовали отправку postback по схеме Last Paid Click
— по событию «платёж подтверждён» формируем postback URL по формату CityAds и отправляем GET-запрос, добавили опциональные параметры (customer_type, status, commission) при необходимости.
- Реализовали отмену/аннулирование конверсии
— при возврате/отмене заказа отправляется postback со статусом отмены (в соответствии с документацией CityAds), чтобы конверсия корректно аннулировалась в системе партнёрки.
- Установили TPM-коды и базовую разметку, описанную в руководстве
— внедрили рекомендованные вставки скриптов/TPM (в соответствии с приложенными PDF), чтобы CityAds мог корректно отслеживать переходы и клики.
- Добавили пометку заказа в InSales через API
— поскольку InSales иногда не сохраняет utm-параметры в заказах корректно, мы прописали в заказ в дополнительное поле (custom field) метку cityads + click_id/offer_id — теперь в карточке заказа видно, что он пришёл через CPA и можно собирать статистику в магазине.
- Тестирование и подтверждение
— организовали тестирование с сотрудниками CityAds через Telegram, проверили postback-вызовы на тестовых ссылках и подтвердили корректность работы (CityAds подтвердил приём тестовых postback).
В ходе работ взаимодействовали с сотрудниками CityAds через Telegram, это ускорило отладку тестовых ссылок и подтвердило приём postback на стороне сети. Клиенту предоставили инструкции по массовому/пакетному тестированию и проверке (как запускаются тестовые клики, какие параметры необходимы).
Результат
Интеграция CityAds (Postback Last Paid Click) для vsesoki.ru была успешно реализована: postback-вызовы отправляются корректно при оплате, отмены обрабатываются, а в заказах сохраняется однозначная метка о CPA-источнике для аналитики.