Skip to main content
Question

API Feature Request - Millisecond Timestamp Precision for Event Attribution

  • April 13, 2026
  • 2 replies
  • 36 views

Forum|alt.badge.img

Hi Klaviyo Team,

 

We're building analytics that replicate Klaviyo's attribution model. We've identified 

cases where multiple email interactions (opens/clicks) occur within the same second 

for different flows.

 

Current Issue:

- API returns timestamps with second precision (e.g., "2025-04-07T16:54:49+00:00")

- When two interactions happen in the same second, we cannot determine which 

  Klaviyo used for attribution

- This causes ~0.5% revenue misattribution in our reports vs Klaviyo dashboard

 

Request:

- Expose millisecond precision in the Events API datetime field

- OR expose the attributed timestamp that Klaviyo used internally
- OR the Tie breaker for these scenarios !

 

Would this be feasible as an API enhancement?And Please Advise us !

 

Thank you

2 replies

Kim from Cadence
Partner
Forum|alt.badge.img+13

@3lgohari, can you share a bit more detail on why you’re trying to re-create Klaviyo’s attribution via raw events vs. using the Reporting API? If you used the latter, you’d have consistent results with Klaviyo. 

That said, I believe you can use `?include=attributions` on the Get Events API to see for a given event (e.g. for a “Placed Order” event), which email event it’s attributed to.


Cadence / Book a demo


Forum|alt.badge.img
  • Author
  • Contributor I
  • April 15, 2026

Thanks for the response We do use ?include=attributions and it works well.

However, we have two reasons why we re-compute attribution locally:

1. Custom Attribution Windows: We allow clients to configure different 
   attribution windows in our app than what's set in their Klaviyo account 
   (e.g., 24h clicks instead of 5-day).

2. Message-Level Attribution: The attributions returned for Placed Order 
   events only include flow_id, not message_id. Our app provides analytics 
   at the flow MESSAGE level ,  so we need to determine which specific message within a flow drove the 
   conversion.
 

   We validated this: out of 1,090 flow-attributed Placed Orders, 100% have 
   flowId but 0% have messageId in the attribution response.
 

Is there a way to get message-level attribution from the API ( event level )? Or is this 
data only available in the Reporting API / dashboard exports?

For the tiebreaker issue (same-second interactions), millisecond precision 
would help us match Klaviyo's logic more precisely.