Skip to main content
Solved

Campaign Included In Previous Months Stats


Forum|alt.badge.img+7

Trying to understand an issue with V1 API using endpoint: https://a.klaviyo.com/api/v1/campaigns vs the Klaviyo Dashboard.

This client scheduled a campaign by Recipient Timezone on June 1st 2023 @ 9am their local time (US Eastern). When I look at the dashboard in Klaviyo for May campaigns I see 7 campaigns including the one sent on June 1st.

BUT

When I pull campaigns via the API (V1) for May 1st to May 31st based on Send Time I get the following 6 campaigns, excluding the once that was sent on June 1st. The following is raw data  from the DB I store data in pulled from the campaign API.

I also reconfirmed that the data in the DB is correct and fresh by doing a direct call in Postman just now, pulling campaigns for May 1st to 31st and confirm that the data below matches
 


I am also not sure what the difference is between the Sent_At time and the Send_Time. The Send_Time is in local time but the Sent_At time makes no sense to me. It’s not UTC based on the Send_Time.

What is the sent_at time returned by the V1 api based on ? (I have looked in API docs etc but haven’t been able to find an explanation)

This leads to a problem where my stats based on the API for May campaigns are less than the dashboard reports by the amount of the June 1st Campaign, and conversely for June my campaign stats are showing higher than the Klaviyo Dashbaord for June campaigns which leads to confusion.

​​​​​​​Any ideas on what is going on and how I can reliably determine the Send Time of a campaign that matches what the Klaviyo Dashboard is using.

Best answer by Brian Turcotte

Hi @Mineral-CR!
 

This is because of Klaviyo’s dashboard model, which is affected by several factors including the timezone of your account, and how you configure your dashboard.

 

The API will attribute based on the timezone your account is set to. For example, say you schedule a message for March 10th at 9 am in your recipient’s local time and your account is in the eastern timezone. A recipient in Australia receives your email at 9am their time, which is 5pm the previous day for you. This would mean that the attributed open for your Australian recipients is March 9th (i.e. the day before in your timezone).

 

Do you know the timezone of the recipient, and also the set timezone of the Klaviyo account?

 

I would also recommend considering the new v3 Get Campaigns endpoint, since the V1 endpoints will be deprecated at the end of the year (2023).

 

Best,

Brian

View original
Did this topic or the replies in the thread help you find an answer to your question?

2 replies

Brian Turcotte
Forum|alt.badge.img+37

Hi @Mineral-CR!

I’m going to check with Engineering about these questions to gather more insight, and I will update the thread as soon as possible!
 

Best,

Brian


Brian Turcotte
Forum|alt.badge.img+37

Hi @Mineral-CR!
 

This is because of Klaviyo’s dashboard model, which is affected by several factors including the timezone of your account, and how you configure your dashboard.

 

The API will attribute based on the timezone your account is set to. For example, say you schedule a message for March 10th at 9 am in your recipient’s local time and your account is in the eastern timezone. A recipient in Australia receives your email at 9am their time, which is 5pm the previous day for you. This would mean that the attributed open for your Australian recipients is March 9th (i.e. the day before in your timezone).

 

Do you know the timezone of the recipient, and also the set timezone of the Klaviyo account?

 

I would also recommend considering the new v3 Get Campaigns endpoint, since the V1 endpoints will be deprecated at the end of the year (2023).

 

Best,

Brian