Skip to main content

Im using the node sdk to call createEvent to setup transactional emails. I can see in the API logs its returning a 202, I can see the metric show as a trigger for the flow, in the request body I can see the custom properties in the object. But when I go to edit the transactional email within the flow the Preview Event Info shows no properties. I did notice when you view the metric activity feed theres none available even though I see the requests in the api logs.

 

Request body:

{
"data": {
"type": "event",
"attributes": {
"properties": {
"foo": "bar"
},
"metric": {
"data": {
"type": "metric",
"attributes": {
"name": "test_event"
}
}
},
"profile": {
"data": {
"type": "profile",
"id": "XXX",
"attributes": {
"email": "XXX"
}
}
}
}
}
}

 

Hi @tadpole1998

Can you first verify that the event is not getting dropped? Check this by calling this API and get the event back based on the ID that you passed in. The ID must be unique and it's possibly that events can be dropped.

If you're still not seeing the events in Klaviyo, you may be sending a payload that:

  • Contains email addresses using an "@example.com" or "@test.com" domain. Such email addresses may be silently dropped by our event pipeline during processing.
  • Provides a non-unique unique_id that will result in duplicates for a given metric and profile.
  • Creates multiple events for a metric and profile at once. Duplicates will be ignored if you're not using a unique_id.
  • Contains an incorrect profile identifier. At least one profile identifier is needed to determine which profile triggered the event. Only include known identifiers when creating events.

In other words, step 1, verify the event is getting created properly. Since events are created asynchronously, you might need to wait a little time before being able to get event by id. 

~Chloe


Reply