(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(49490590, "init", { defer: true, clickmap:true, trackLinks:true, accurateTrackBounce:true }); ym(49490590, 'hit', window.location.href);

Как сделать партнерскую программу на Тильде с помощью «Google Таблиц»

В Тильде можно создать промокоды для партнеров, но нет инструментов для организации партнерской программы. Решил эту проблему с помощью «Google Таблиц».

Привет! У меня есть онлайн-курс, и год назад я решил протестировать продажи через партнерскую программу. Идея простая:

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

В Тильде есть инструмент для создания промокодов, но нет подробной статистики по их использованию. Партнерам приходится постоянно запрашивать отчет по продажам у меня и верить мне на слово. Это неудобно.

Можно было подключить сторонний сервис вроде E-AutoPay, но мне стало лень заморачиваться с настройкой и тратить деньги на тест. Да и самому позерокодить как-то интереснее.

Поэтому я организовал что-то вроде личного кабинета в «Google Таблицах». Данные в него поступают автоматически, вручную надо только добавлять новых партнеров. На создание у меня ушло часа два, на настройку по шаблону у вас уйдет меньше 30 минут.

Рассказываю, как оно работает.

Анкета для заявок от партнеров

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

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

Настройки в Тильде

Создание промокодов. Добавляем поле для ввода промокода в корзине и создаем промокоды для партнеров. Вот гайд Тильды, нет смысла его пересказывать.

Сбор данных только после оплаты. Идем в «Настройки сайта» → «Платежные системы» → выбираем свою систему (у меня ЮКасса) и ставим галочку в пункте «Отправлять данные в сервисы приема данных только после оплаты».

Это нужно, чтобы в таблицу попадали только те покупки, за которые мы получили деньги. Если кто-то перешел на страницу оплаты, но сбежал, новая запись не появится.

Экспорт данных в «Google Таблицу». Нам надо создать таблицу и подключить экспорт данных из формы заказа. Вот гайд Тильды, как это сделать, — только мы подключаем всё не к форме, а к корзине.

Если коротко:

  • Идем в «Настройки сайта» → «Формы» → «Сервисы приема данных» → Google Sheets, нажимаем «Подключить Google Таблицы».
  • Авторизуемся в своем аккаунте Google.
  • Не нажимаем «Добавить приемщик данных ко всем формам на сайте», иначе в таблицу будут собираться не только оплаты, но и вообще все данные из всех форм.
  • Открываем редактор страницы, на которой люди покупают наш продукт, нажимаем на блок корзины → «Контент» → «Прием данных из формы», выбираем нашу таблицу.

Теперь все данные по оплатам будут автоматически улетать в «Google Таблицу».

Общая таблица

Открываем нашу таблицу: «Настройки сайта» → «Формы» → «Подключенные сервисы» → «Наш сервис», кликаем по ссылке на таблицу.

Вот как оно будет выглядеть, когда там появятся данные:

Первую вкладку трогать не надо, иначе экспорт может сломаться, а данные — перепутаться. Я просто переименовал ее в data-from-tilda и оставил все как есть.

Я сделал копию своей таблицы с фейковыми данными — можете использовать ее как шаблон. Дальше опишу всю логику, чтобы вы могли сделать то же самое с нуля чисто под себя.

Создаем отдельную вкладку для каждого партнера. Для демонстрации я сделал двух партнеров: Машу и Васю. У вкладок обязательно должны быть уникальные названия — можно использовать Ф. И. О. партнера или его промокод.

В самой вкладке указываем промокод партнера в первой ячейке.

Подгружаем данные. Теперь нам нужно выбрать из общего потока только те покупки, которые были оплачены по промокоду партнера.

Используем формулу:

=iferror(FILTER('data-from-tilda'!$A$2:$A;'data-from-tilda'!$F$2:$F=$A$1;'data-from-tilda'!$J$2:$J="Paid"))

Вот как она устроена:

  • iferror — скрывает сообщения об ошибках, когда формула пытается обработать пустые ячейки
  • FILTER — отображает данные из диапазона, которые соответствуют указанным условиям.
  • 'data-from-tilda'!$A$2:$A — указываем диапазон, откуда надо забирать данные. В шаблоне это столбец с датами.
  • 'data-from-tilda'!$F$2:$F=$A$1 — выбираем только строки, где в столбце F есть промокод, указанный в ячейке A1.
  • 'data-from-tilda'!$J$2:$J="Paid" — выбираем только покупки со статусом «оплачено» (на всякий случай).

Эта формула пишется в одной ячейке, но занимает целый столбец, поэтому все клетки под ней должны быть пустыми.

По аналогии делаем такие же фильтры для ID заказа и UTM-меток — чтобы партнер видел, какие его ссылки работают эффективнее всего. Остальные данные подгружать нет смысла.

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

Создаем две дополнительные колонки. В колонке I я добавил формулу:

=ARRAYFORMULA(IF($B$2:$B=0; ;$A$14))

Она добавляет в каждую непустую строку сумму, которую надо выплатить партнеру. У меня это 1 500 рублей. На случай, если с разными партнерами будут разные условия, я сделал отдельную ячейку A14, где прописана сумма вознаграждения.

Это тоже формула на весь столбец, надо написать ее один раз в самой верхней ячейке и ничего не писать под ней.

В колонке J обычные флажки, которые мы ставим, когда выплачиваем партнеру вознаграждение. Так мы отмечаем, за какие покупки платить уже не надо.

Считаем вознаграждения. Добавляем счетчик привлеченных людей:

=COUNTA($B$2:$B)

Считаем, сколько уже заплатили:

=SUMIFS($I$2:$I;$J$2:$J;true)

И сколько осталось заплатить:

=SUM($I$2:$I)-$A$8

Добавляем всякие полезные штуки. Я добавил во вкладку Ф. И. О., реквизиты и контакты партнера, чтобы не потерялись. Главное, не пишите их в столбцах с формулой FILTER, чтобы ничего не сломать.

Вот как выглядит вкладка партнера в итоге:

«Личный кабинет» партнера

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

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

Создайте пустую таблицу или откройте мой шаблон.

В ячейку A1 вставьте формулу:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1AsoN_sKEKa5ywaLXq80_7mNUFP2hSNAfsMri4YWX4zU/"; "'Вася'!A1:j")

Укажите ссылку на свою основную таблицу и название вкладки, из которой надо подтягивать данные. Не забудьте, что у вас ссылка на таблицу будет другая.

Если доступ к основной таблице ограничен (а он должен быть ограничен, если вы не хотите, чтобы ее мог открыть кто попало), выскочит ошибка #REF !.

Нажмите на ячейку и на кнопку «Открыть доступ»:

После этого загрузятся все данные из основной таблицы.

Откройте партнеру доступ на просмотр по ссылке или по имейлу — как вам удобнее. Это важно: если откроете доступ на редактирование, он сможет что-то сломать или, перебирая названия вкладок, получить доступ к чужой информации.

Если партнер сделает копию этой таблицы, она не будет работать: для формулы IMPORTRANGE нужно открыть доступ, а сделать это можете только вы.

Готово, вы восхитительны

Когда кто-то оплачивает товар на сайте, Тильда автоматически отправляет данные в общую таблицу.

Если оплата совершена по промокоду, то она улетает во вкладку соответствующего партнера.

Таблица партнера автоматически импортирует данные из вкладки — и партнер может посмотреть, сколько людей он привлек, когда, по каким ссылкам они переходили, сколько мы ему должны.

Партнеры не могут ничего сломать и не видят данных друг друга.

Единственное, что надо делать вам, — регистрировать промокоды и создавать новые вкладки и отдельные таблицы с IMPORTRANGE для каждого нового партнера. Вкладки не надо создавать с нуля: просто скопируйте уже существующую и поменяйте в ней промокод, Ф. И. О. и контактные данные.

Как платить деньги. У меня этим занимается бухгалтер: раз в месяц она открывает общую таблицу, смотрит, у кого появились новые строки, оплачивает и отмечает галками. Можно договориться с партнерами, чтобы они периодически выставляли вам счета, а вы проверяли, оплачивали и отмечали в таблице.

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

Спасибо, что прочитали, надеюсь, кому-то пригодится. Если вам понравилось, почитайте другие мои статьи про «Google Таблицы»:

0
50 комментариев
Написать комментарий...
Алексей Рожков

На нормальную партнерку, братан :)

Ответить
Развернуть ветку
2 комментария
Ekaterina Kornilova

Кто это тут опять назерокодил? А, это Паша 😅
А вообще функция «сделать отдельную табличку для каждого из общей таблички» и разграничить доступы к общему массиву данных оч классная, я про такое не знала. 

Ответить
Развернуть ветку
Павел Молянов
Автор

Да, я когда-то давно искал, как дать человек доступ только к одному листу таблицы, чтобы он не видел остальные. Но не нашел ничего вменяемого, зато нашел эту функцию =)

Ответить
Развернуть ветку
Анатолий Внук-Карпов

В этом случае не подходит IMPORTRANGE, я просто копирую ссылку из этой формулы и попадаю в общую таблицу со всеми вашими партнерами.

Нужно либо давать всем одну табличку, либо передавать данные по другому.

Ответить
Развернуть ветку
Павел Молянов
Автор

Это потому что я общую таблицу расшарил для статьи, чтобы люди могли ее открыть.

Если ты сделаешь копию и не будешь открывать к ней доступ по ссылке, то никто не сможет так сделать.

Ответить
Развернуть ветку
Анатолий Внук-Карпов

Ок, спасибо))

Ответить
Развернуть ветку
Eu Ki

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

Ответить
Развернуть ветку
Aleksandra Lysenko

Здравствуйте, напишите на [email protected], интересует

Ответить
Развернуть ветку
Светлана Завацкая

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

Ответить
Развернуть ветку
Павел Молянов
Автор

Да там можно просто мой шаблон по ссылке взять, сделать копию, включить экспорт в Тильде — и все будет работать

Ответить
Развернуть ветку
Светлана Завацкая

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

Ответить
Развернуть ветку
Алексей Офицеров

От нашей гильдии вашей гильдии:))

Ответить
Развернуть ветку
1 комментарий
Цимерманн

Люди вообще недооценивают Гугл таблицы ))

Ответить
Развернуть ветку
Павел Молянов
Автор

Любимый мой инструмент, очень много всего можно быстро сделать

Ответить
Развернуть ветку
Alina Holovko

Паш, когда курс по гугл-таблицам?😂 Мне кажется, скоро очередь к тебе будет

Ответить
Развернуть ветку
Павел Молянов
Автор

Да мне уже каждую неделю звонят или пишут с вопросами по ним

Но мне так влом, если честно, новый курс пилить. Я еще от прошлого не отошел =)

Ответить
Развернуть ветку
Alina Holovko

Надо, Паша, надо))

Ответить
Развернуть ветку
Ольга Толстунова

Крутая статья!

Ответить
Развернуть ветку
2 комментария
Maxim Sergeevich

Классное решение. Понятно, что подойдёт далеко не всем (а только тем, кто работает с небольшим количеством партнёров, где ручной учёт не отнимает много времени), но для теста гипотезы отлично! Благодарю!

Ответить
Развернуть ветку
Павел Молянов
Автор

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

Ответить
Развернуть ветку
Vasiliy Leytman

Легче вордпресс поставить. Поработав немного с Тильдой так и не понял, ради чего люди с ней е*утся так отчаянно, когда даже каких-то тупых и простых вещей вроде контейнеров текстовых которые не могут сами растягиваться под контент и двигать контейнеры под ними, в ней нет и не предвидится. И интерфейс из начала 2000х. Все интеграции которые там есть (ну ок почти все может) есть в WP, учитывая какой жуткий говнокод она генерит, любой билдер вроде Elementor даст ей сто очков вперед. Да и дешевой ее не назвать. Короче кусок мамонтового г-на)

Ответить
Развернуть ветку
Sergei Desert

Чертов Гений ))))) Статья невероятно полезна и актуальна, мне это нужно, давно искал как реализовать ! Благодарю ВАС !

Ответить
Развернуть ветку
Антон Ляшенко

А Тильда нафиг)))

P.S. Мое личное мнения я буду пользоваться любым продуктом но только не Тильдой.
P.P.S. Но по поводу другого продукта я слукавил только свое)))

Ответить
Развернуть ветку
Даниил Дьяченко

Позвольте узнать, почему у вас такое отношение к тильде? Если знать в чем может пригодиться данный инструмент, то выгоднее и удобнее мало что есть

Ответить
Развернуть ветку
Антон Ляшенко

Я лично не советую данных продукт не одному своему клиенту.

P.S. Мое личное мнения.

Ответить
Развернуть ветку
Vladislav Grabovoy

выглядит это так

есть таблица с базой данных с ячейками
ВАСЯ  1000
ПЕТЯ  1500
ВАСЯ 2000

Есть таблица куда вы ипортируете значение + вручную добавляете третье значение
ВАСЯ 1000 Молодец
Вася 2000 Красавчик

К примеру как-то так произошло, что изменился порядок в исходной базе данных  и отсротировал по второй столбей по убыванию, получилось
ВАСЯ 2000
ПЕТЯ 1500
ВАСЯ 1000

Из-за этого поменялся порядок в таблице куда импортируется значение, но те значения что вы заполняли вручную - остались на своих местах, получилось 
ВАСЯ 2000 Молодец
Вася 1000 Красавчик
Т.е. значения перепутались

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

Ответить
Развернуть ветку
Павел Молянов
Автор

Да, я понял. Тильда все выгружает в хронологическом порядке и указывает время покупки с точностью до секунды. Если кто-то случайно поменял порядок записей, достаточно просто отсортировать по дате от А до Я — и все починится

А новые записи вручную добавлять при таком подходе не надо, согласен. Но оно мне и на надо — у меня наоборот цель, чтобы партнеры видели данные из Тильды и все. Если нужно добавлять что-то вручную, то можно добавить еще один столбец ID с автоматической нумерацией и сортировать по нему. Тогда даже введенные вручную данные без точного времени будут заниматься свое постоянно место в таблицы

Ответить
Развернуть ветку
Mariya Belokopytova

InSales где все это давно реализовано 🗿

Ответить
Развернуть ветку
Павел Молянов
Автор

Ну, довольно странно будет создавать отдельный лендинг для курса на Инсейлз, когда весь остальной сайт уже есть на Тильде

Ответить
Развернуть ветку
Петр Волков

Паша, когда ждать кейс о том, как ты заменил сотрудников «Сделаем» гугл-таблицами? 

Ответить
Развернуть ветку
Павел Молянов
Автор

Чет не выходит пока что, я пытался =(

Ответить
Развернуть ветку
Даниил Постнов

Спасибо за статью, это единственное, что находится по партнёрской программе тильды.

Ответить
Развернуть ветку
Tatiana Kozyreva

Супер крутая статья! Обожаю зерокод))) Мы правда уже на e-autopay организовали партнерку. Изначально с этим прицелом и выбирали платформу, но все равно интересно было читать)

Ответить
Развернуть ветку
Anatoly Ivanov

Как бы тут Роскомнадзор не сагрился, в виду закона о хранении ПД исключительно в России

Ответить
Развернуть ветку
Павел Молянов
Автор

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

Будет просто промокод и оплатки по нему — тут не на что агриться

Ответить
Развернуть ветку
Лена Антонова

А на заказ вы такие таблицы разрабатываете? Посмотрела, у вас в аккаунте много статей про работу с таблицами

Ответить
Развернуть ветку
Павел Молянов
Автор

Нет, я такое только для себя делаю, когда вдохновение есть

На заказ вот эти ребята могут сделать: https://t.me/google_sheets

Ответить
Развернуть ветку
Лена Антонова

спасибо за рекомендацию!

Ответить
Развернуть ветку
Vladislav Grabovoy

У такой реализации есть большая опасность в том что если в выгрузке Тильды Вы к примеру захотите удалить строку или поменяете порядок отсортировав таблицу, то у вас съедут все значения в таблицах партнёров. Лучше вести всю исходную базу данных (те накруты которые Вы добавляете после выгрузки тильды) в одной вкладке, а уже оттуда выгружать по вкладам. Тогда вероятность что когда то что то собъется и все данные будут перепутаны сильно снизится. Если Вы один работаете в таблице - конечно проблем нет, но если ещё кто то кто собьет и не поймет что он сделал, то откатить уже может быть сложновато.

Также не обязательно создавать каждому партнеру отдельную вкладку в этом случае - просто сразу выгружать таблицу по конкретному партнеру из общей базы данных в ссылку которую даёте партнеру. Кстати удобнее это может быть даже делать через функцию query, а не filter.

Ответить
Развернуть ветку
Павел Молянов
Автор

Не очень понял. У меня же так и есть — данные с Тильды попадают в одну вкладку, которую никто никогда не трогает, а на других вкладках я их загружаю через Filter и с ними работаю

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

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Павел Куделин

Не совсем понятно, как же скрыть таблицу откуда идет импорт по IMPORTRANGE, ведь она все равно видна в первой ячейке и любой может выйди на родительскую таблицу и посмотреть все данные

Ответить
Развернуть ветку
Павел Молянов
Автор

Все новые таблицы скрыты по умолчанию, никто, кроме владельца, не может их открыть. Надо просто не открывать к ней доступ по ссылке.

А если уже открыл, то «Настройки доступа» → «Изменить» → «Доступно пользователям, у которых есть ссылка» → «Доступ ограничен»

Ссылку в формуле будет видно, по открыть таблицу по ней не получится

Ответить
Развернуть ветку
Сергей Чернавцев

четко!

Ответить
Развернуть ветку
Elina

Павел, благодарю за Полезную информацию. Все четко. Только скажите, можно ли настроить не конкретную выплату в рублях, а сумму процента? Ибо с партнерами такая договоренность. Сумма разных продуктов отличается, но процент единый. Буду очень благодарна за инструкцию. Хорошего вечера

Ответить
Развернуть ветку
Elina

Павел, благодарю за Полезную информацию. Все четко. Только подскажите, можно ли настроить не фиксированную оплату, а определенный процент? С партнерами такая договоренность. Стоимость продуктов разная, а процент единый. Буду очень благодарна за инструкцию - где и что изменить. Хорошего вечера

Ответить
Развернуть ветку
47 комментариев
Раскрывать всегда