Set up postback tracking
Last updated: May 19, 2026
Set up postback tracking
Step-by-step setup for postback tracking. Get your Wevion postback URL, configure it in your tracker with the right macros, test, verify events arriving. Total time: 10-20 minutes per tracker.
Who is this for
Mediabuyers ready to enable server-side conversion tracking. Read com-109 postback overview first for context.
Before you start
A tracker connected (Keitaro / Voluum / RedTrack / BeMob / TG Tracker — see com-107) OR your own server capable of HTTP POST
Your ad campaigns running on Meta / Google / TikTok with click_id passed in UTM (Wevion auto-generates these)
Your tracker logging conversions with click_id
Step 1: Get your Wevion postback URL
In Wevion:
Sidebar → Connect → Postback or visit
/connect/postbackClick Get URL or directly:
GET /api/v1/postback/configreturns:
{
"postback_url_template": "https://api.wevion.ai/api/v1/postback/conversions?event={event_name}&value={value}¤cy={currency}&click_id={click_id}",
"supported_macros": ["click_id", "value", "currency", "event_name", "user_email", "custom_data"],
"your_workspace_id": "ws-abc123",
"rate_limit_per_minute": 1000
}
Copy the postback_url_template.
Step 2: Translate macros to your tracker's syntax
Wevion uses {macro_name} syntax. Translate to your tracker:
Wevion macro | Keitaro | Voluum | RedTrack | BeMob |
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| hardcode (e.g. | hardcode | hardcode | hardcode |
|
|
|
|
|
Example for Keitaro converting Wevion's URL:
https://api.wevion.ai/api/v1/postback/conversions?
event=Purchase
&value={revenue}
¤cy={currency}
&click_id={click_id}
&user_email={email}
Step 3: Configure in your tracker
For Keitaro
Keitaro Admin → Campaigns → pick the campaign
Postback URL field → paste the URL with Keitaro macros
Save
Repeat per campaign OR set as default postback at Settings → Postback URLs
For Voluum
Voluum → Settings → Postback Templates → New
Postback URL with
${...}Voluum macrosApply to campaigns via campaign settings
For RedTrack
RedTrack → Conversions → Postback URLs → Add
URL with RedTrack macros
Trigger conditions: on Conversion event
For BeMob
BeMob → Tools → Postback URLs → New
Trackmaster-style macros
Save
For TG Tracker
TG Tracker Admin → Settings → Webhooks / Postback
URL with TG-style macros
Save
For custom server-side fire
If you're firing from your own server (no tracker):
curl -X POST "https://api.wevion.ai/api/v1/postback/conversions?event=Purchase&value=99.99¤cy=USD&click_id=abc123"
Fire from your conversion code (Node, Python, PHP, whatever).
Step 4: Generate test traffic
Manually trigger a conversion to test:
Click on one of your live ads (or use a test ad)
Note the
click_idin the URL (e.g.?wevion_click_id=test123)Complete the funnel — go through to your offer + convert
Tracker should log the conversion + fire postback to Wevion
Check Wevion
/connect/postback→ Recent events tab
If event appears: setup correct. If not: see Common issues below.
Step 5: Verify and monitor
/connect/postback shows:
Recent events list (last 50)
Per-event: timestamp, event name, click_id, value, status (received / matched / forwarded / failed)
Attribution success rate (% of events successfully matched to an ad campaign)
Forwarding success rate per ad platform
Healthy setup: > 90% attribution + > 95% forwarding success.
How attribution works
When Wevion receives a postback:
Extract
click_idfrom URL paramsLook up click_id in
meta_postback_conversiontable — was this click tracked by Wevion?If yes: get the associated ad campaign (from when the click was tracked at Wevion)
Forward conversion to that campaign's ad platform via CAPI / Conversions API
Mark event as matched + forwarded
If click_id NOT found:
Event marked received but not matched
May be a click from before postback was set up
May be a click_id from a non-tracked source
Forwarding to ad platforms
Configure per ad platform in /connect/postback:
Meta CAPI: enabled by default for Meta-connected campaigns
Google Conversions API: enabled for Google campaigns
TikTok Events API: enabled for TikTok campaigns
For each: Wevion uses the ad platform's standard API to fire the conversion event. Event name normalized (e.g. Wevion Purchase → Meta CAPI Purchase → Google purchase).
Best practices
Test before going live: always do a manual test conversion first
Use click_id consistently: Wevion auto-injects via UTM in Campaign Creator; your tracker must read and store it
Set up postback per campaign: even if your tracker supports default URL, per-campaign customization helps
Monitor the attribution rate: if drops below 80%, investigate click_id flow
Keep tracker logs: useful for debugging if events disappear
Common issues
"Event received but not matched": click_id mismatch. Verify tracker is receiving + forwarding the same click_id Wevion injected.
"Tracker sends but Wevion doesn't show events": wrong URL or tracker can't reach Wevion (firewall, DNS). Test with curl.
"Events with wrong currency / value": tracker macros not replacing correctly. Test by hardcoding values to isolate.
"Forwarding to Meta CAPI fails": Meta CAPI access token missing for that ad account (meta-105).
"Rate limit exceeded": tracker firing too fast (> 1000/min). Throttle tracker side OR request elevated limit (Enterprise).
"Duplicate events": tracker firing postback multiple times for same conversion. Add deduplication on tracker side OR enable Wevion-side dedup via
event_id.
Event ID for deduplication
Pass event_id parameter for explicit deduplication:
...&event_id=conv-12345
Wevion deduplicates events with the same event_id within 7 days. Best practice: use a stable ID from your tracker (e.g. Keitaro conversion ID).
Related
Postback (S2S) tracking overview — conceptual context
Postback vs pixel — which to use — choice guidance
Connect Keitaro via Tracker Hub — tracker setup that feeds postback