In Klaviyo
Create an abandoned cart flow either from the Flow library or from scratch
If from scratch, you can choose to either send a couple of email reminders before sending a WhatsApp message or directly send a WhatsApp message. Another option would be to use Conditional Split logic to check the cart value and then split the audience (e.g. >€150=send WhatsApp, <€150=send 2x emails)
2. Add a Webhook action
In charles
Create a new flow and add Klaviyo trigger
Copy the URL, Key and value from the charles Klaviyo trigger into the Klaviyo Webhook action:
In Klaviyo:
5. Configure the JSON payload with the information you wish to share from Klaviyo to charles
The field "phone_number" is required and therefore needs to be included in the JSON payload.
Click “View profile properties” to see what variable properties are available, including any custom properties you may have created.
For example: {{ recent_purchase.product_name }} will pull in the name of the recent product purchased by your customer.
Make sure you include the checkout cart URL in the JSON payload to be able to add it as a CTA button in your WhatsApp messages. "checkout_url": "{{ event.extra.checkout_url|default:'' }}”
6. Set the Webhook live
Klaviyo → charles:
7. Copy the JSON payload configured in step 5 and paste it into the Payload Body within the charles Klaviyo trigger:
Make sure the JSON payload is copied exactly from Klaviyo to charles. Even a small difference will result in errors.
8. Build your Journeys flow. We recommend something like this:
We’ve used the checkout cart URL as a dynamic URL to send the customer directly to their abandoned cart.
We’ve also used the Condition node to check if a customer has bought something during after the first reminder before sending them a second.