Context
You can let charles send the following metrics (events) to Klaviyo. They are tracked everytime you send a message to a customer: via flows, campaigns or via an agent.
βEngagement Events
WhatsApp Message Delivered
WhatsApp Message Read
WhatsApp Message Clicked (for messages with Quick-reply and CTA buttons)
Subscription-related events
Subscribed to WhatsApp
Unsubscribed from WhatsApp
Example payloads
Engagement events
WhatsApp Message Delivered, WhatsApp Message Read
{
"message_id":"c38f1cce-ae1a-45a9-a748-f91ca8ac19b1"
"message_pricing":"paid"
"flow_id":"064fdbc5-3389-40e4-bbcd-42bb920e9f54"
"flow_name":"emarsys happy path"
"template_id":"d69dc192-aa7c-4dd5-ae13-9c056f9c55f6"
"template_name":"Flowbuilder_111224_011809_ae24a350-caac-4cc2-966a-ba6e9da49e86"
}
WhatsApp Message Clicked
For quick reply buttons
{
"message_id":"1f1cad0d-2809-4a5a-bfcf-579fa3b5e341"
"message_pricing":"free"
"flow_id":"8cc61549-e0c6-49fb-ae3c-a69786a8e366"
"flow_name":"Untitled Flow"
"template_id":"9e3a13f3-e813-4424-8f2a-2a744aa6918e"
"template_name":"Flowbuilder_130225_073645_93701fe7-e6d2-4cc9-850a-9b119ba0a4e0"
"quick_reply_button_label":"yes"
}
For CTA buttons
{
"message_id":"4e3ab918-25bf-4f20-b1b6-e1b3bc0a5ba2"
"message_pricing":"paid"
"flow_id":"8cc61549-e0c6-49fb-ae3c-a69786a8e366"
"flow_name":"Untitled Flow"
"template_id":"d3aa00c8-5c8a-4796-9498-64bc52fa85c1"
"template_name":"Flowbuilder_Update_130225_82645"
"cta_button_label":"Buy this"
"cta_button_url":"https://test.com/?utm_source=charles&utm_medium=whatsapp&utm_campaign=Untitled%20Flow&utm_content=d5541296-2b25-4eb5-b1b0-cfdcf43ac958&utm_id=8cc61549-e0c6-49fb-ae3c-a69786a8e366&utm_node_id=d5541296-2b25-4eb5-b1b0-cfdcf43ac958&utm_transaction_id=d5541296-2b25-4eb5-b1b0-cfdcf43ac958"
}
Subscription events
{
"subscription_id":"672f2771-609c-4b4d-990a-d30b767185b4"
"subscription_type":"Marketing Double Opt-in"
"subscription_timestamp":"2025-02-13T07:38:23.567Z"
"subscription_status":"granted"
}
Frequency of event sync
Charles emits events to Klaviyo in real time. Depending on the load on Klaviyo, we have observed that events are not always available in Klaviyo immediately, but latest after a few minutes.