Sage Mode | AI & Affiliate Marketing
560 subscribers
39 photos
5 videos
2 files
47 links
AI, tracking і автоматизація в Affiliate Marketing.

Зв'язок: @techwithsagemode
Download Telegram
салют
планую ділитись мануальчиками, скриптами і думками по ринку

here we go
🔥1
🤖 Конверсії з Keitaro в Telegram за 2 хвилини
Замість того, щоб кожну хвилину оновлювати статку в трекері — зроби бота, який буде відбивати конверсії в чат в телеграмі.

1. Створюєш бота (BotFather)

Шукаєш @BotFather, тиснеш /newbot та слідуєш інструкціям. Отримуєш API Token (виглядає як довгий набір літер та цифр).
Важливо: Обов'язково перейди в бота і натисни Start.

2. Chat ID
Тепер треба вказати боту, куди саме слати твої конверсії. Перед цим тобі потрібно створити групу і додати свого бота туди.
Щоб швидко дізнатися ID свого профілю, каналу або, в нашому випадку, групи — використовуй Get My ID.

3. Налаштування в Keitaro
Кампанія → S2S Postbacks і тиснеш Add a postback:

Method: GET
Statuses: Обираєш потрібні (наприклад Deposit).
URL: Вставляєш цей шаблон:
https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[ID]&parse_mode=HTML&text=🔥 <b>ОПА, ДЕПЧИК!</b>%0A%0A<b>Campaign:</b> {campaign_name}%0A<b>Offer:</b> {offer_name}%0A<b>Revenue:</b> {revenue}


💡 Заміни: [TOKEN] — на токен від BotFather, а [ID] — на id чата, який ти отримав з Get My ID.

4. Результат

Тепер кожний депчик падає тобі в тг. Макроси {campaign_name}, {offer_name} та {revenue} автоматично підтягнуть дані з трекера (текст і макроси можеш змінити під себе).

Далі — більше! 🫡
🔥8
поки готую для вас крутий, а головне, безкоштовний (всі ж люблять халяву😉) сервіс, яким ви точно будете користуватись, дайте фідбек хто заливає гугОл, у вас теж ніби все занадто гарно йде?
Як ти відносишся до унікалізаторів креативів?

У всіх різні думки, але як не дивно, на ринку вони дуже популярні. 100500 різних унікалізаторів, але чи на стільки вони хороші?
Летс факін чек іт аут!

Я взяв фото з Unsplash (1.jpg), прогнав його через свій унікалізатор (2.jpg), згенерував схожу картинку через AI (3.png), а також прогнав оригінал через паблік-унікалізатор (1OCmBx5zkYBiaze.jpg).

Потім витягнув метадані картинок і закинув цю всю справу в ChatGPT, Grok, Gemini.

Результат:
1) Сток (1.jpg) — апрувнули всі шайтан-машини (воно і не дивно).
2) Мій унікалізатор (2.jpg) — хоча я і затираю більшість метаданих, всі як один говорять що такий креатив виглядає максимально ads-friendly і це типовий “Save for Web” варіант.
3) AI (3.png) — C2PA+AI маркування.
4) Паблік-унікалізатор (10CmBx5zkYBiaze.jpg) — пупупу, gd-jpeg / нетиповий експорт / серверна генерація.

Висновки зроби сам, але пам'ятай про бога рандома і що унікалізатори це не магічна кнопка, а інструмент який трошки пришвидшує твою роботу.
👍9
🔥 WHITE PAGES 🔥

Створюємо white pages для проходу модерації та стабільного запуску реклами в Google.

💰 Ціна — $6

Що ти отримуєш:
Багатосторінковий HTML сайт
(кожен сайт містить декілька додаткових сторінок з послугами)
Cookie Policy / Privacy Policy / Terms of Service
(усе відповідно до політик рекламних платформ)
Унікальний та чистий HTML-код
(без сміття, обфускації та шаблонів)
Підстановка назви домена в логотип і тексти
Без CMS і без конструкторів
⚡️ Максимально швидка видача

🌍 Будь-яке популярне GEO
🗣 Будь-яка популярна мова

🎯 Тематика:
— по твоєму ТЗ
— або зробимо самі, на базі того, що реально зараз працює під Google

📩 Пиши в особисті — зробимо швидко і без зайвих питань 🚀
👏4👍2
Як лити по графіку в Google Ads і не отримати “Compromised Site”? 🤔

В різних гуглових чатах гуляє інфа, що якщо лити виключно по графіку роботи КЦ, шанс отримати “compromised” вищий, ніж у повністю аналогічного сетапу, але 24/7. Можна звісно запускати й так, а потім інжектити ліди — але бренди навряд чи зрадіють що ти їм зливаєш холодку та й CR у тебе явно просяде😉

То що робити?
Все просто: графік сетапимо через скрипт, а не руками 🫡

🛠 Як запустити (2 хв)

Google Ads → Tools & Settings → Bulk actions → Scripts
+ New script → вставляєш скопійований код → Authorize → Preview (чекни лог) → Run

Час береться по таймзоні акаунта (виводиться в логах). Ну а графік можеш налаштовувати під себе, розберешся🤝

А якщо хочеш забути як виглядає “compromised” — раджу затестити наші White Pages.
Ціна нижче ринку, а якість перевірена тисячами запусків 👌

function main() {
const CLEAR_EXISTING = true;

// Розклад: Пн–Пт 09:00–18:00
const schedules = [
{ dayOfWeek: "MONDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "TUESDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "WEDNESDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "THURSDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "FRIDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
];

Logger.log("Account timezone: " + AdsApp.currentAccount().getTimeZone());

// 1) Стандартні кампанії
applyToAllEnabled(
AdsApp.campaigns().withCondition("campaign.status = 'ENABLED'").get(),
schedules,
CLEAR_EXISTING
);

// 2) Performance Max
applyToAllEnabled(
AdsApp.performanceMaxCampaigns().withCondition("campaign.status = 'ENABLED'").get(),
schedules,
CLEAR_EXISTING
);
}

function applyToAllEnabled(iterator, schedules, clearExisting) {
while (iterator.hasNext()) {
const campaign = iterator.next();

if (clearExisting) {
const existing = campaign.targeting().adSchedules().get();
while (existing.hasNext()) existing.next().remove();
}

schedules.forEach(s => campaign.addAdSchedule(s));
Logger.log(" Updated: " + campaign.getName());
}
}
16🔥2