Fix Voluum & Ad Network Postback Discrepancies
Server-to-server (S2S) conversion tracking discrepancies between Voluum and your traffic sources are resolved by matching click ID tokens, aligning reporting timezones, and verifying postback URLs. When these systems fall out of sync, media buyers make optimization decisions based on skewed eCPA and ROAS metrics. Fixing these errors requires a systematic audit of parameter mapping and server logs.
Key Takeaways
- Acceptable Discrepancy: A 1% to 3% delta is normal due to network latency, but differences exceeding 5% signal structural token or timezone misalignments.
- Timezone Alignment: Mismatched reporting timezones (such as Voluum set to UTC while your ad network uses EST) skew daily EPC and ROAS calculations by pushing conversions into different calendar days.
- Click ID Integrity: Using incorrect placeholders in the traffic source postback URL (like sending Voluum's internal
{cid}instead of the source's dynamic token) breaks the attribution chain entirely. - Deduplication Settings: Ad networks often deduplicate conversions based on IP or click ID within strict windows, causing them to reject valid secondary conversions that Voluum records.
The Mechanics of the Voluum-Network Data Loop
To diagnose where tracking breaks down, you must map the complete lifecycle of a click and its subsequent conversion. Voluum acts as the central hub, sitting between the traffic source (the ad network) and the destination (the affiliate network or your own landing page). For a tracking system to operate with zero data loss, unique click identifiers must pass seamlessly through every stage of this loop.
When a visitor clicks your ad, the ad network generates a unique click ID. This value must be appended to your Voluum campaign URL using a specific parameter. For example, if you run traffic on Outbrain, the campaign URL must contain Outbrain's native token, typically mapped to Voluum's external_id parameter. Voluum receives this click, records its own internal click ID (the {cid} token), and simultaneously stores the ad network’s click ID in its database.
When the user completes a purchase or submits a lead, the affiliate network triggers a postback to Voluum using the {cid}. Voluum looks up that specific click record, finds the corresponding ad network click ID, and fires an outbound S2S postback to the ad network. If this chain is broken at any point, your ad network dashboard will show zero conversions, while Voluum may show hundreds. To establish a bulletproof foundation for this infrastructure, refer to the S2S Postback Tracking: Setup Guide to Stop Conversion Loss.
Timezone Misalignment and the Illusion of Data Loss
One of the most common causes of tracking discrepancies is timezone mismatching. Media buyers often panic when comparing yesterday's performance across dashboards, observing a 20% variance in conversion volume. Before restructuring your technical setup, verify the timezone configurations of both Voluum and your traffic source.
By default, many affiliate networks and Voluum instances operate on Coordinated Universal Time (UTC). However, native ad networks, DSPs, and search platforms often default to Eastern Standard Time (EST) or Pacific Standard Time (PST), or they lock the account timezone to the physical location of the media buyer.
If Voluum records a conversion at 11:30 PM EST on Monday, it registers that conversion in UTC as Tuesday at 4:30 AM. If your ad network is set to EST, it records the conversion on Monday. When you analyze Monday’s data, Voluum will appear to have missed a conversion, while Tuesday will appear to have an extra conversion. Over a 7-day or 30-day window, the aggregate numbers will match, but your daily eCPA, ROAS, and automated bidding rules will be highly skewed. Always align your Voluum workspace timezone with your primary traffic source, or manually adjust your reporting views to offset the hourly difference.
Deduplication Logic and Multiple Postback Triggers
Discrepancies frequently emerge from how different servers process duplicate events. This is highly common in e-commerce and lead-generation funnels where a single user might trigger multiple conversion events, such as an initial purchase followed by a one-click upsell.
Voluum processes conversions based on transaction IDs. If your affiliate network passes a unique transaction ID with each postback, Voluum records multiple conversions for that single click. This is correct behavior, as it reflects the true lifetime value and revenue generated by that user.
However, the receiving ad network may have strict deduplication rules. If the ad network's server receives two postbacks containing the identical click ID within a specified conversion window (often 24 hours), its system may flag the second postback as a duplicate and discard it. This results in Voluum showing a higher conversion count than the ad network. To resolve this, you must analyze how both systems handle duplicate postbacks. You can find advanced methodologies to align these settings in the guide on how to Audit & Fix S2S Postback Tracking Discrepancies.
Token Matching and Parameter Formatting
A single character error in a postback URL template will break your tracking. Every ad network requires its own specific parameter to receive its click ID. If you pass the wrong token back to the network, the postback fails silently. The ad network's server returns an HTTP 200 OK status (confirming it received the request), but it does not record the conversion because the payload was invalid.
Consider the differences in parameter naming conventions across popular networks:
- Taboola: Requires
{click_id}to be captured. The postback sent back to Taboola must use the parameterclickid={external_id}. - PropellerAds: Uses
visitor_id. The postback must format asvisitor_id={external_id}. - MGID: Uses a dynamic click token that must be returned via
c={external_id}.
If you mistakenly write clickid={cid} in your Taboola postback, you are sending Voluum's internal click ID instead of Taboola's click ID. Taboola's database cannot find a record matching Voluum's ID, so the conversion is discarded. Always double-check that the "External ID" field in your Voluum traffic source template matches the exact parameter your ad network uses to pass its click ID on the initial ad click.
API-Based Tracking Discrepancies on Meta and TikTok
As browser-based cookies continue to deprecate, major platforms like Meta and TikTok have shifted from traditional S2S get-request postbacks to robust Conversions APIs (CAPI). This transition introduces new layers of complexity that often cause tracking discrepancies.
When using Voluum to pass conversions to Meta or TikTok, you are often running a hybrid setup: a browser pixel tracks conversions on the front end, while Voluum fires server-side events on the back end. To prevent double-counting, these platforms run deduplication algorithms that rely on two key data points: the Event ID and the Event Name.
If a user converts on your landing page, the browser pixel fires an event with event_id: "order_98765". At the same time, Voluum sends a server-side postback for the same transaction with event_id: "order_98765". Meta matches these IDs and counts only one conversion. If your Voluum setup fails to pass the exact matching Event ID, or if it formats the ID differently, Meta will record two conversions. This artificially inflates your ROAS and causes your ad sets to optimize toward incorrect user profiles. For step-by-step instructions on configuring these API integrations, review the tutorial on how to Set Up S2S Postbacks for Meta and TikTok Ads.
A Step-by-Step Technical Audit Protocol
When you identify a discrepancy greater than 5% between Voluum and your traffic source, execute this diagnostic protocol to isolate and resolve the leak.
Step 1: Inspect the Voluum Postback Log
Navigate to the "Log of postbacks" within Voluum’s settings. This log shows every outbound request Voluum attempted to send to your traffic sources. Search for the specific campaign and look at the HTTP status codes.
If you see 400-series or 500-series errors, the ad network's server is actively rejecting the requests. This points to an authentication issue, an expired API token, or an incorrectly formatted URL structure. If you see HTTP 200 codes but the ad network still shows zero conversions, the network is accepting the request but discarding the conversion due to an invalid or missing click ID within the payload.
Step 2: Check for Empty Parameters
Examine the raw URLs fired in the postback log. Look at the value assigned to the click ID parameter. If you see clickid= or clickid={external_id} printed literally in the log, Voluum failed to replace the token with the actual click ID value. This means the original campaign URL was not configured correctly, and Voluum never captured the click ID when the user first arrived.
Step 3: Run a Manual Postback Test
Locate a click ID from your traffic source that did not record a conversion. Manually construct the postback URL, inserting that specific click ID. Paste the URL directly into your browser or use a tool like Postman to execute the request. Check your ad network dashboard to see if the conversion appears. If the manual test succeeds, the issue lies in the automation rule or the payload transit between Voluum and the network, not the network's processing engine.
Frequently Asked Questions
Why does Voluum show more conversions than my ad network?
This occurs when the ad network deduplicates conversions based on click IDs or IP addresses within a tight timeframe, while Voluum records every transaction pass-through. It can also happen if the ad network's postback URL is formatted incorrectly, causing the network to drop the postbacks Voluum fires.
What is an acceptable tracking discrepancy percentage in affiliate marketing?
A discrepancy of 1% to 3% is standard and usually caused by server latency, user network drops, or minor timing differences. Any variance above 5% indicates an underlying technical issue, such as timezone mismatches or misconfigured click ID tokens.
How do I fix postbacks that return HTTP 403 errors in Voluum?
An HTTP 403 Forbidden error indicates that the ad network is blocking Voluum's server. This is typically caused by a missing API key, an expired security token in the postback URL, or the ad network requiring IP whitelisting for incoming server-to-server requests.