Your first campaign
The whole path from a connected ad account to a tracking link that reports revenue against spend.
This is the end-to-end setup, in dependency order. Each step needs the one before it, which is why campaigns come last rather than first — a campaign ties the other pieces together and there is nothing to tie until they exist.
Each of these pages has an animated walkthrough built into it. Look for How it works in the page header for a step-by-step replay of the screen you are on.
1. Connect the ad account#
Ad Accounts — connect the platform you buy traffic on. This is what pulls your ad spend in; without it PostbackX knows your revenue but not what you paid for it, and every profit column reads as pure profit.
2. Connect an offer source#
Offer Source — the affiliate platform your offers come from, and the thing that will send conversions back.
Connecting it gives you the postback URL to configure on their side. See connecting an offer source.
3. Add a pixel#
Pixels — how conversions get sent back to the ad platform, so its algorithm can optimize toward people who buy rather than people who click.
For Facebook you need the Pixel ID and a Conversions API access token, both from Events Manager. See sending conversions back.
4. Create the offer#
Create Offers — what you are promoting.
If you use Everflow, import it and the configuration is filled in for you. Otherwise use the Custom tab, where you need two things from your offer source:
- The offer URL — their tracking link. Append your click id macro, e.g.
&sub5={click_id}. Without it, no conversion can be attributed to anything. This is the single most common setup mistake.
- Their postback configured to fire at PostbackX when a conversion happens.
5. Optionally, a landing page or a flow#
Not required — a campaign can send traffic straight to an offer.
Landing Pages is worth it on Facebook specifically: a page of your own can capture the _fbp and _fbc browser cookies that only exist client-side, which measurably improves match quality. It needs a snippet embedded.
Flows are for splitting traffic across several landing pages or offers by weight. Define one and reuse it across campaigns; change it once and every campaign follows.
6. Create the campaign#
Create Campaigns — pick the pixel, the offer, and optionally the flow. You get one tracking link.
1 Choose the pixel for the platform you are buying traffic on, so conversions get reported back to it.
2 Choose what you are promoting. This is where the traffic converts.
3 A flow is optional — add one when you want to split traffic across several landing pages or offers.
Last step, and it is the one people skip: map this campaign to the ad platform’s own campaign, or spend and revenue never land in the same row.
4 You get one link. Put it behind your ads and every click, conversion and pixel event is attributed automatically.
- Pick the pixel. Choose the pixel for the platform you are buying traffic on, so conversions get reported back to it.
- Pick the offer. Choose what you are promoting. This is where the traffic converts.
- Create it. A flow is optional — add one when you want to split traffic across several landing pages or offers.
- Your tracking link. You get one link. Put it behind your ads and every click, conversion and pixel event is attributed automatically.
That link goes behind your ads. From then on every click, conversion and pixel event is attributed automatically.
7. Map the campaign#
Campaign Mappings — link your PostbackX campaign to the ad platform's own campaign.
This is what puts spend and revenue in the same row. Unmapped, you get two half-reports. PostbackX suggests matches by name; accept the correct ones.
8. Verify before you scale#
Do not wait for real traffic to find out whether it works.
- Click your own tracking link. It should appear in
Clicks within seconds.
- Confirm the click id is visible in the URL you land on. If not, step 4's macro is
missing.
- Fire a test conversion with that click id — the
curlin
conversions are missing — and confirm it appears in Conversions.
- Check the pixel event reached the ad platform. For Facebook that is Events
Manager, where it should arrive within minutes.
If all four pass, the chain is sound and you can spend money against it.
Worth knowing early#
Use a custom tracking domain. Links on your own domain look like yours and are more resilient than a shared default.
Send transaction_id on your postbacks. It is optional and it is what makes duplicate detection correct. See attribution.
Conversions are attributed to the day of the click, not the sale. Today's numbers keep filling in for days. This is correct, and it surprises everyone once.