Campaigns

A campaign ties a bot, a tracked chat, your welcome creative, and your postback URLs together — and gives you the deep link to send traffic to. Everything a subscriber does after clicking that link is tracked.

Campaigns list — each card shows bot, chat, stats pills and action buttons

The campaign editor

Open Campaigns → Create campaign (or click a campaign name to edit it).

1. Bot

Pick one of your connected bots. The bot must be an admin of the chat you want to track — if your bot isn’t promoted yet, go to Bots first.

2. Chat

After you pick a bot, only chats where it is an admin are shown. If a chat is already used by another active campaign it won’t appear — each active campaign tracks a unique bot × chat pair.

3. Welcome message

What the subscriber sees as soon as they start your bot.

  • Text — supports Telegram Markdown: *bold*, _italic_, [link text](url), `code`. Keep it friendly.
  • Image / video — optional. Upload from your device (stored on our servers, not as a Telegram file_id).
  • CPA button — an optional inline button below the message. Fill in a caption (button label) and a URL. The URL can contain macros — the macro helper shows you the full list. The most common one is {click}, which inserts the subscriber’s click id so your tracker can match the impression to the conversion.

4. Postback URLs

Five URL templates — one per lead event. When that event fires, we substitute your macros and fire a GET request to the URL.

FieldWhen it fires
WaitSubscriber pressed Start in the bot
HoldJoin request submitted (approval-required chats)
ApproveSubscriber joined / request approved
CancelSubscriber left voluntarily (within the unsub window)
TrashSubscriber was kicked or banned (within the unsub window)

Leave any field empty to skip that event’s postback. Leave all five empty to fall back to your global postbacks.

The macro helper button inserts the most common macros. The tracker preset dropdown pre-fills all five fields with a ready-made template for AlterCPA Lite (or another supported tracker) — just swap in your own credentials.

How tracking works has the full macro reference and delivery rules.

5. Unsub window

How long after joining a leave still counts as a “cancel” or “trash” and fires a postback. After the window the lead still moves to that status, but no postback is sent.

OptionWindow
1 day86 400 s
7 days604 800 s
30 days2 592 000 s
CustomAny duration in days
AlwaysNo expiry — every leave fires a postback forever

Campaign editor — target, welcome message, media upload and postback fields

6. Lead notifications

Get a Telegram message from the service bot when a lead changes status in this campaign. Only paid traffic (leads from a /start) triggers notifications — organic joins are never notified.

LevelWhat you receive
Off (default)Nothing
Successful joins onlyA message when a lead reaches Approve
Joins + new leadsApprove + new leads (Wait — bot start)
All status changesWait, Hold, Approve, Cancel, Trash

The global Lead notifications toggle in your Profile must also be on for messages to arrive.

Triggered broadcasts (paid)

The campaign editor also has a Triggered broadcasts section — five cards, one per lead status — for auto-sending a follow-up message to a lead a while after it reaches that status (a warm-up, a win-back, a reminder). It’s a paid feature and is covered in full on the Broadcasts page.

After saving the campaign the deep link is revealed:

t.me/YourBot?start=CAMPAIGNCODE-{click}

Replace {click} with your tracker’s click macro — for example {subid} in Keitaro or {clickid} in Binom. In AlterCPA Lite the macro is {click}. The result is the URL you put in your ad or traffic source.

AlterCPA Lite only: if you’ve connected your tracker in Profile, a Create flow button also appears next to the deep link. Clicking it creates a Lite flow for you automatically and shows the ready-to-use flow URL.

Deep link revealed — copy button and "Create flow" for AlterCPA Lite users

Campaign lifecycle

ActionEffect
PauseStops tracking new starts and joins. Deep link stays valid but the bot won’t create new leads until you resume.
ResumeRe-activates the campaign.
DeleteSoft-deletes the campaign. Leads, stats, and history are kept. The campaign disappears from the list but its data remains.

Campaign limit

Your plan sets the maximum number of active (non-deleted, non-paused) campaigns. Trying to create one past the limit returns an error: limit response. To add more, either delete or pause an existing campaign, or upgrade your plan.

A downgrade never auto-pauses existing campaigns — you just can’t create new ones until you’re back under the limit.