OneView automatically prevents duplicate events from being processed using idempotency keys. No configuration required.
What is Deduplication?
Deduplication prevents the same event from being processed multiple times, ensuring each conversion is counted exactly once in your workspace and sent to advertising platforms only once.Understanding deduplication vs. merit-based routing:
- Deduplication: Prevents the same event from being processed multiple times (e.g., page refresh fires the same event twice)
- Merit-based routing: Prevents the same conversion from being sent to multiple platforms (e.g., both Google and Meta claim the same purchase)
How Deduplication works
OneView uses idempotency keys to identify and block duplicate events. When you send an event with the same idempotency key within the deduplication window (14 months), OneView processes it only once.| Scenario | First Event | Duplicate Event | Result |
|---|---|---|---|
| Same idempotency key | Processed | Blocked | Event counted once |
| Different idempotency key | Processed | Processed | Both events counted |
| Key outside window | Processed (expired) | Processed | Both events counted |
Idempotency keys are valid for 14 months. After this period, the same key can be reused for a new event.
When duplicates occur
Event duplication happens when the same user action triggers multiple tracking calls:| Cause | Example | Impact |
|---|---|---|
| Page refreshes | User refreshes thank-you page | Same purchase event sent twice |
| Back-button navigation | User navigates back, then forward | Event fires again |
| Multiple implementations | Both GTM Web and backend send event | Duplicate tracking calls |
| Single-page apps | Route changes trigger multiple times | Same event fired multiple times |
Idempotency keys
An idempotency key is a unique identifier that ensures the same request produces the same result, preventing duplicate processing.Best practices for idempotency keys:Use a combination of identifiers that uniquely identify the event:
- E-commerce:
user_id + order_id + event_type - Lead forms:
user_id + form_id + timestamp - Page views:
client_id + page_url + timestamp
Deduplication window
OneView maintains idempotency keys for 14 months to prevent duplicates across extended customer journeys.| Timeframe | Behavior |
|---|---|
| Within 14 months | Same key blocks duplicate events |
| After 14 months | Key expires, can be reused |
The 14-month window covers most customer journeys, including long B2B sales cycles and repeat purchases. If you need a longer window, contact support.
Common questions
How do I implement idempotency keys with OneView?
How do I implement idempotency keys with OneView?
Include an
Idempotency-Key header or field with each event request using a unique identifier. For example:- E-commerce:
user_id + order_id + event_type - Lead forms:
user_id + form_id + timestamp - Page views:
client_id + page_url + timestamp
What happens if I don't send an idempotency key?
What happens if I don't send an idempotency key?
OneView generates a deterministic idempotency key based on your event payload. However, explicitly providing an idempotency key gives you more control and ensures consistent deduplication across different implementations.
How does deduplication work with merit-based routing?
How does deduplication work with merit-based routing?
Deduplication and merit-based routing work together:
- Deduplication ensures the same event isn’t processed multiple times in OneView
- Merit-based routing ensures the conversion is sent only to the platform that wins attribution
Can I see which events were deduplicated?
Can I see which events were deduplicated?
Everything happens automatically in your workspace, and you will only see the final result in your reports.