AlterCPA Pro — External sites
AlterCPA Pro receives our postbacks through its External sites tool — a feature available inside any Pro offer. You get a site token and two postback endpoints; we send a request to the right one for each lead event.
How External sites work in Pro
The “External sites” integration lets an advertiser’s external landing page (or, in our case, AlterCPA TOP) send conversions directly to the tracker. There are two endpoints:
| Endpoint | Purpose |
|---|---|
api/site/click.json | Register a new visit / create a lead |
api/site/status.json | Move an existing lead to a new status |
Authentication is a token query parameter — the site token issued when you
create an external site in Pro.
Pro’s own documentation is at www.altercpa.pro/help/section-external.
Setting up in Pro
- Open any offer in AlterCPA Pro and navigate to External sites → Add site.
- Create a new external site. You’ll receive a site token — copy it into your
AlterCPA TOP tracker settings as the
tokenvalue. - The click id you want to match is the value you pass in the
clickparameter onclick.json. We carry it from the deep link.
Mapping our five events
Use {domain} and {token} from your Pro external-site settings.
{click} and {lead} are AlterCPA TOP macros substituted at fire time.
wait: https://{domain}/api/site/click.json?token={token}&click={click}&exto={lead}
hold: https://{domain}/api/site/status.json?token={token}&click={click}&status=hold&auto=1&exto={lead}
approve: https://{domain}/api/site/status.json?token={token}&click={click}&status=approve&auto=1&exto={lead}
cancel: https://{domain}/api/site/status.json?token={token}&click={click}&status=cancel&auto=1&exto={lead}
trash: https://{domain}/api/site/status.json?token={token}&click={click}&status=trash&auto=1&exto={lead}Parameters:
| Parameter | Value | Notes |
|---|---|---|
token | {token} | Site token from External sites in Pro |
click | {click} | AlterCPA TOP macro — click id from the deep link |
exto | {lead} | Our lead id; used by Pro for de-duplication (required on every call) |
auto=1 | fixed | Tells Pro to create the lead automatically if it doesn’t exist yet |
Why wait uses click.json and the rest use status.json:
click.json registers the initial visit (creates the lead record in Pro).
status.json moves an existing lead. So the first event (wait, when the
subscriber presses Start) creates the Pro lead; the subsequent events update it.
Deep link setup
In your Pro campaign’s traffic source, configure it to inject its click id at
the {click} position in the AlterCPA TOP deep link:
t.me/YourBot?start=CAMPAIGNCODE-{click_macro_from_pro}Pro’s click id macro in traffic links is typically {click} — verify in your
Pro campaign settings.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Lead not created in Pro | wait postback not firing — check the click.json URL and your site token |
| Status not updating | Wrong status value or auto=1 missing on status.json calls |
| ”Forbidden” errors | Wrong site token — copy it again from External sites in AlterCPA Pro |