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:

EndpointPurpose
api/site/click.jsonRegister a new visit / create a lead
api/site/status.jsonMove 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

  1. Open any offer in AlterCPA Pro and navigate to External sites → Add site.
  2. Create a new external site. You’ll receive a site token — copy it into your AlterCPA TOP tracker settings as the token value.
  3. The click id you want to match is the value you pass in the click parameter on click.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:

ParameterValueNotes
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=1fixedTells 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.

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

SymptomLikely cause
Lead not created in Prowait postback not firing — check the click.json URL and your site token
Status not updatingWrong status value or auto=1 missing on status.json calls
”Forbidden” errorsWrong site token — copy it again from External sites in AlterCPA Pro