How to Connect Keitaro to CIPIAI: Postback, Offer and Campaign Setup
If CIPIAI shows conversions and your Keitaro reports stay at zero, the problem is almost always one of three things: the postback, the click ID or the conversion status. This guide walks through the full Keitaro and CIPIAI setup in the order that avoids all three, using the Cipiai.com affiliate network template that already ships inside Keitaro. By the end you'll have one global postback, one approved flow and one campaign link ready to paste into your traffic source.
A Keitaro postback for CIPIAI is a server-to-server request that CIPIAI sends to your Keitaro tracker each time a conversion changes status. It carries the Keitaro click ID (subid), the status, the payout and the currency, so Keitaro can attach the conversion to the exact click, source and zone that produced it. You set it once as a global postback in CIPIAI Tracking Tools, and every flow can reuse it.
What goes where: the Keitaro and CIPIAI setup at a glance
The setup moves data in two directions. Keitaro passes its click ID to CIPIAI through the offer URL; CIPIAI returns that click ID with the conversion through the postback.
| Item | Where you get it | Where you paste it |
|---|---|---|
| Postback URL | Keitaro → Settings → Postback URL | CIPIAI → Tracking Tools → Postback → Global |
| Flow tracking link | CIPIAI → Offerwall → Flows (after approval) | Keitaro → Offers → URL |
Click ID click_id={subid} | Added automatically by the Cipiai.com template | Nowhere, Keitaro appends it |
Zone parameter zone_id={source} | You add it | End of the offer URL in Keitaro |
| Campaign link | Keitaro → Campaigns → Tracking tab | Your traffic source (Meta Ads, push, pop, native) |
How to set up Keitaro for affiliate network campaigns
Setting up Keitaro for CPA campaigns takes five stages, and the network side (stages 4 and 5) is where most tracking breaks. This guide covers those two stages for CIPIAI; the first three are covered in Keitaro's Get Started docs.
| Stage | What you do | In this guide |
|---|---|---|
| 1. Server and install | Rent a server and install the self-hosted tracker | No, see Keitaro docs |
| 2. Domain | Connect a tracking domain | No, see Keitaro docs |
| 3. Traffic source | Add the source with its cost and zone macros | Only the zone macro (Step 6) |
| 4. Affiliate network and postback | Connect the network template, postback and statuses | Yes, Steps 1 to 5 |
| 5. Offer and campaign | Create the offer and campaign, send traffic | Yes, Steps 6 and 7 |
Before you start, have three things ready: a working Keitaro install with a connected domain, an approved CIPIAI webmaster account, and the traffic source you plan to run already added in Keitaro under Traffic Sources.
01Copy the global postback URL from Keitaro
Open Settings → Postback URL in Keitaro and copy the URL with the clipboard button. It looks like this:
https://your-tracker-domain/ef7e937/postback?subid=REPLACE&status=REPLACE&payout=REPLACE


The short code after the domain is your postback key. Keitaro's documentation describes it as a unique identifier that authenticates incoming requests, so treat it like a password and don't post screenshots of it in chats.
02Add the postback to CIPIAI Tracking Tools
In your CIPIAI account go to Tracking Tools → Postback → Global and paste the URL. Then replace every REPLACE with a CIPIAI token and add currency and event at the end:
https://your-tracker-domain/ef7e937/postback?subid={{click_id}}&status={{goal_status}}&payout={{payout}}¤cy={{currency}}&event={{event}}
| Keitaro parameter | CIPIAI token | What it carries |
|---|---|---|
subid | {{click_id}} | The Keitaro click ID that CIPIAI received in the offer URL |
status | {{goal_status}} | Conversion status in CIPIAI |
payout | {{payout}} | Your payout for the conversion |
currency | {{currency}} | Payout currency |
event | {{event}} | The conversion event name |

subid and status are the two parameters Keitaro can't work without. According to Keitaro's postback docs, a request with no status, or with a status the tracker doesn't recognise, gets ignored.
Next, pick which statuses CIPIAI should send. Tick Hold and Approve to see a conversion the moment it happens and again when it's confirmed. Tick Reject and Decline as well if you want declined conversions visible in Keitaro; for cutting weak zones that view is worth having.
Other tokens are available too ({{geo}}, {{offer_id}}, {{flow_id}}, {{subid_1}} to {{subid_5}}) if you want more fields in your tracker reports.
03Send a test conversion
Click Test conversion next to the URL field. When CIPIAI gets a valid response from your tracker, it shows: "The postback is successfully configured. Click the 'Save' button." Click Save.

A green message here means Keitaro answered. It doesn't yet prove Keitaro recorded the conversion, so if the test never reaches your Keitaro reports, run the three checks below.
04Create a flow for your offer in CIPIAI
A flow is how CIPIAI ties one offer, one traffic source and one postback together.
- Open Offerwall, pick the offer and start a new flow.
- Choose an existing traffic source or create one (for example, Meta Ads).
- Name the flow so you can find it later, e.g. "VPN US Meta Keitaro".
- In the Postback field, select the global postback you saved in Step 2.
- Optionally set a trafficback URL for traffic the offer doesn't accept.
- Click Submit for moderation.


Once the flow is approved, go to Offerwall → Flows, find it by name and click the link icon to copy the tracking link. You'll need it in Step 6.

05Add CIPIAI as an affiliate network in Keitaro
Go to Affiliate Networks → Create in Keitaro and select Cipiai.com from the Template list. The template fills in two fields for you:
- Offer parameters:
click_id={subid}. Keitaro appends this to every CIPIAI offer URL, which is how your click ID reaches CIPIAI and comes back in the postback. - Postback URL: a reference copy of the postback format. Keitaro notes that this field is there for quick copy-paste and doesn't change tracker settings.


click_id={subid}.Click Create. You only do this once per Keitaro install.
06Create the CIPIAI offer in Keitaro
Open Offers → Create and fill in:
- Offer name: anything readable, e.g. the same name as your CIPIAI flow.
- Affiliate network: CIPIAI (the network from Step 5). Skip this and the click ID won't be appended, which breaks attribution.
- Type: Redirect, HTTP-redirect.
- URL: the flow tracking link from Step 4, plus the zone parameter described below.

zone_id={source}.How to pass zones and placements with zone_id
Add zone_id={source} to the end of the flow link so CIPIAI statistics show which zone, placement or publisher each conversion came from:
https://your-cipiai-flow-link/f/8d18a04b-...?zone_id={source}
If the flow link already contains a ?, join the parameter with & instead.
{source} is a Keitaro macro that takes whatever your traffic source template puts in its Site parameter. In the PropellerAds template, for example, Site is mapped as source={zoneid}, so {source} resolves to the PropellerAds zone ID. Other sources name this differently; open Traffic Sources, edit your source and check which network macro sits in the Site row.

source={zoneid}.On pop and push traffic, zone-level data is what lets you blacklist losing zones quickly, which our popunder ads guide covers in more detail.
07Build the Keitaro campaign and send traffic
- Go to Campaigns → Create.
- Enter a campaign name, pick your tracking domain, and select the source you'll run.
- Click Create Flow, open the Schema tab, keep Landing pages & offers, and add your CIPIAI offer under Offers (add a landing page first if you use one).
- Click Apply, then save the campaign.
- Copy the campaign link from the top bar or the Tracking tab and paste it into your traffic source as the destination URL.


The chain is complete: traffic source → Keitaro campaign → CIPIAI flow → offer, with conversions flowing back to Keitaro through the global postback.
If conversions don't show up in Keitaro
Start with the postback log in Maintenance → Logs → Postbacks. Three causes cover most failed setups:
- Unknown status. The log reports a missing or unrecognised status: add the CIPIAI status name as an alias in Settings → Conversion types.
- Conversions not tied to clicks. The offer was created without the CIPIAI network, so
click_id={subid}wasn't appended. Edit the offer and select CIPIAI under Affiliate network. - Empty
zone_idin CIPIAI stats. Map your traffic source's zone macro to the Site row in Keitaro Traffic Sources.
FAQ: Keitaro and CIPIAI
- Does Keitaro have a ready-made template for CIPIAI?
- Yes. Keitaro includes a Cipiai.com template under Affiliate Networks → Create. It adds
click_id={subid}to every CIPIAI offer URL automatically, so you don't have to type the click ID parameter by hand. - Where do I put the Keitaro postback URL in CIPIAI?
- In Tracking Tools → Postback → Global. A global postback applies to every flow you link it to, so you set it once and pick it from the list when creating each new flow.
- Which CIPIAI token goes into subid in the Keitaro postback?
{{click_id}}. CIPIAI receives the Keitaro click ID through theclick_idparameter in the offer URL and returns it in{{click_id}}, which Keitaro reads assubid.- Why is the test conversion successful but Keitaro shows nothing?
- A successful test only confirms that Keitaro responded. If the conversion doesn't appear, check Maintenance → Logs → Postbacks in Keitaro; an unrecognised status is the usual reason, and adding it as an alias in Conversion types fixes it.
- What is zone_id in the CIPIAI offer URL?
zone_idpasses the zone, placement or publisher ID from your traffic source to CIPIAI. Addzone_id={source}to the flow link in Keitaro, and make sure your traffic source template fills the Site parameter.- Should CIPIAI send rejected conversions to Keitaro?
- Only if you want them in your reports. Hold and Approve are enough to track revenue; adding Reject and Decline shows which sources or zones produce conversions that don't get confirmed.
Start with one flow, then scale
Set up the global postback once, confirm one real conversion in Keitaro, and only then clone the campaign across sources and GEOs; a working chain on one flow saves hours of guessing across ten. If you're buying traffic through Keitaro and want offers that already have a tracker template, CIPIAI runs direct tech offers (VPN, utilities, extensions) and SmartLinks for mixed traffic, covered in our SmartLink guide. NET30 with autopayments, from $50 via payment services.
Register as a CIPIAI webmaster →Publishing sheet for Webflow (not part of the article)
| Title tag | Keitaro Postback Setup for CIPIAI: Step-by-Step Guide |
|---|---|
| Meta description | Connect Keitaro to CIPIAI in 7 steps: global postback, status tokens, the built-in Cipiai.com template, zone_id tracking and a test conversion. |
| Slug | /blog/keitaro-postback-setup |
| Primary keyword | keitaro postback |
| Secondary | keitaro tracker · s2s postback · postback url |
| Images | 13 screenshots, account data blurred; alt text set on each |
{{goal_status}} sends (hold / approve / reject / decline or others) and what {{event}} carries. If Keitaro doesn't map them out of the box, add a line about Conversion types aliases to Step 2.{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "How to Connect Keitaro to CIPIAI: Postback, Offer and Campaign Setup",
"description": "Connect Keitaro to CIPIAI in 7 steps: global postback, status tokens, the built-in Cipiai.com template, zone_id tracking and a test conversion.",
"datePublished": "2026-09-XX",
"dateModified": "2026-09-XX",
"author": {"@type": "Organization", "name": "CIPIAI"},
"publisher": {"@type": "Organization", "name": "CIPIAI", "url": "https://hi.cipiai.com"},
"mainEntityOfPage": "https://hi.cipiai.com/blog/keitaro-postback-setup",
"about": [{"@type": "SoftwareApplication", "name": "Keitaro", "url": "https://keitaro.io/"}]
},
{
"@type": "HowTo",
"name": "How to connect Keitaro to CIPIAI",
"step": [
{"@type": "HowToStep", "position": 1, "name": "Copy the global postback URL from Keitaro", "text": "Open Settings → Postback URL in Keitaro and copy the URL."},
{"@type": "HowToStep", "position": 2, "name": "Add the postback to CIPIAI Tracking Tools", "text": "Paste it into Tracking Tools → Postback → Global and replace REPLACE with {{click_id}}, {{goal_status}}, {{payout}}; add currency={{currency}} and event={{event}}."},
{"@type": "HowToStep", "position": 3, "name": "Send a test conversion", "text": "Click Test conversion, wait for the success message, then Save."},
{"@type": "HowToStep", "position": 4, "name": "Create a flow in CIPIAI", "text": "Pick the offer, choose a traffic source, select the global postback and submit the flow for moderation. Copy the tracking link after approval."},
{"@type": "HowToStep", "position": 5, "name": "Add CIPIAI as an affiliate network in Keitaro", "text": "Affiliate Networks → Create → template Cipiai.com. It appends click_id={subid} to offer URLs."},
{"@type": "HowToStep", "position": 6, "name": "Create the offer in Keitaro", "text": "Offers → Create, select CIPIAI as the network, paste the flow link and add zone_id={source}."},
{"@type": "HowToStep", "position": 7, "name": "Build the campaign", "text": "Campaigns → Create, pick domain and source, add the offer in the flow Schema, save and paste the campaign link into your traffic source."}
]
},
{
"@type": "FAQPage",
"mainEntity": [
{"@type": "Question", "name": "Does Keitaro have a ready-made template for CIPIAI?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Keitaro includes a Cipiai.com template under Affiliate Networks → Create. It adds click_id={subid} to every CIPIAI offer URL automatically."}},
{"@type": "Question", "name": "Where do I put the Keitaro postback URL in CIPIAI?", "acceptedAnswer": {"@type": "Answer", "text": "In Tracking Tools → Postback → Global. A global postback applies to every flow you link it to."}},
{"@type": "Question", "name": "Which CIPIAI token goes into subid in the Keitaro postback?", "acceptedAnswer": {"@type": "Answer", "text": "{{click_id}}. CIPIAI receives the Keitaro click ID through the click_id parameter and returns it in {{click_id}}, which Keitaro reads as subid."}},
{"@type": "Question", "name": "Why is the test conversion successful but Keitaro shows nothing?", "acceptedAnswer": {"@type": "Answer", "text": "A successful test only confirms that Keitaro responded. Check Maintenance → Logs → Postbacks; an unrecognised status is the usual reason, and adding it as an alias in Conversion types fixes it."}},
{"@type": "Question", "name": "What is zone_id in the CIPIAI offer URL?", "acceptedAnswer": {"@type": "Answer", "text": "zone_id passes the zone, placement or publisher ID from your traffic source to CIPIAI. Add zone_id={source} to the flow link in Keitaro."}},
{"@type": "Question", "name": "Should CIPIAI send rejected conversions to Keitaro?", "acceptedAnswer": {"@type": "Answer", "text": "Only if you want them in reports. Hold and Approve are enough to track revenue; Reject and Decline show which sources produce unconfirmed conversions."}}
]
}
]
}