FAQ & troubleshooting

Postbacks

My postback isn’t firing

Work through this checklist:

  1. Is the event within the unsub window? Leaves after the window (cancel / trash) fire no postback. Check your campaign’s unsub-window setting.
  2. Is the campaign active? Paused campaigns create no new leads and fire no postbacks. Resume it if needed.
  3. Is the postback URL public? We block private/loopback IPs and non-http(s) schemes. Your tracker must be on a public host.
  4. Is the {click} placeholder in your deep link? If the deep link doesn’t carry your tracker’s click id macro, the click will be empty and your tracker can’t match the postback.
  5. Is there a global postback set? If the campaign has no per-campaign postbacks, it falls back to your Profile’s global templates. Make sure at least one of the two is configured.

How tracking works


My tracker shows no click match / “unknown click”

You either:

  • Forgot to replace {click} in the deep link with your tracker’s own click id macro (e.g. {subid} for Keitaro, {clickid} for Binom), or
  • Sent traffic directly to the deep link without going through your tracker’s redirect — the click id was never injected.

Make sure traffic enters through your tracker’s campaign link, which injects the click id before redirecting to the deep link.

Tracker integration


cancel and trash postbacks aren’t arriving

Both fire only within the unsub window after the subscriber joined. A leave after the window still moves the lead to cancel / trash but fires no postback. Adjust the unsub window in the campaign editor if you want a longer (or infinite) window.


Leads & subscribers

Organic joins aren’t showing up as leads

By design. A subscriber who joins your chat without ever starting the bot through your deep link has no click id — so no lead is created and no postback is fired. These organic joins appear in the Activity journal only.


A subscriber re-joined — what happens to their lead?

The existing lead returns to approve and the approve postback fires again. If they also started the bot again with a new click, the lead’s click id is updated and the wait postback fires again. No second lead is created.

Leads


What’s the difference between cancel and trash?

cancel — the subscriber left voluntarily (they pressed Leave/unsubscribe).
trash — the subscriber was kicked or banned by an admin.

Both respect the unsub window, both move the lead out of approve.


Bots & chats

My bot lost admin rights — now what?

When the bot loses admin in a chat, it stops receiving join/leave events for that chat. Affected campaigns are flagged (⚠️) and you receive a notification from @altercpatopbot.

To fix it: re-promote the bot to admin in the Telegram channel/group. Campaigns will resume automatically once admin rights are restored.

Bots


The chat isn’t showing up in the campaign editor

The chat must have your bot as an admin. Telegram has no “list my chats” API — we learn about a chat the moment the bot is added or promoted to admin. Promote the bot in the channel/group, then refresh the campaign editor.


Account & sign-in

Can I let support log into my account?

Yes — create a one-time login link on the Profile page and send it to them. It works once and expires in 24 hours. Don’t share it with anyone you don’t trust: whoever opens it gets full access. See Profile → Share with tech support.


Billing & plans

Free vs paid — what’s the actual difference?

Two things at once: the number of active campaigns and the set of features. The free Kitten plan gives you 1 campaign with full tracking and a single welcome message — but no broadcasts, screen funnels, or CAS protection. Paid plans add broadcasts, multi-screen funnels and CAS protection; team plans add the operator CRM with its seats on top of that.

Solo plans:

PlanCampaignsPrice
Kitten1Free
Kitty15$24 / 2,400 ₽ per 30 days
TigerUnlimited$88 / 8,800 ₽ per 30 days

Team plans with CRM (3 / 15 / 100 operator seats): Pride — $42, Cattery — $135, Catlantis — $451 per 30 days.

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

Billing & tariffs


What happens when my plan expires?

  • Immediately: dashboard access is cut.
  • +7 days: the public API stops working (unpaid error).
  • +7 days: your active campaigns and bots are put to sleep (not deleted).

When you renew, the slept bots and campaigns resume automatically (bots first, then campaigns) within a minute. You only restart by hand the campaigns you paused yourself — those stay paused. You can always activate the free Kitten plan to keep one campaign running at no cost.


API & Profile

How do I rotate my API key?

Click Regenerate on the Profile page. The old key stops working immediately. Update any scripts or integrations before rotating.

Profile & API key


What’s the difference between the API key and the Transfer token?

  • API key — your credential for the User API. Use it in programmatic integrations.
  • Transfer token — a one-way identifier you share with someone who wants to send you a bot or campaign. It’s on the Transfer page and has nothing to do with API access.