Skip to main content

How to Set Up a charles x Karla Flow

Updated over 2 weeks ago

This guide will walk you through all steps necessary to connect Karla shipment updates in Klaviyo with charles, enabling you to send your WhatsApp subscribers the same Karla tracking page as your email subscribers & Shop only customers.

Set Up in charles

  1. Create a Flow:

    • In Charles, go to the 'Flows' section and create a new flow.

  2. Select Klaviyo Trigger:

    • Choose 'Klaviyo Webhook Trigger' as the flow's Trigger


  3. Connect 'Send Update' Node:

    • Add a 'Send Update' node to the flow.

    • Fill this node with content relevant to the delivery status (copy)


  4. Insert Karla Tracking Link:

    • Within the 'Send Update' node, create a URL button.

    • Set the button type to 'Dynamic'.

    • Use the variable {{karla_trackpage_url}} to dynamically generate the tracking link.

Set Up in Klaviyo

  1. Identify Karla Flows:

    • In Klaviyo, navigate to the 'Flows' section.

    • Locate the flows associated with Karla (previously SetUp by your CRM & Karla).

  2. Add a Conditional Split:

    • Within the selected flow, insert a 'Conditional Split' beneath the relevant email.

    • Set the condition: 'Properties about someone' where 'charles_opt_in' equals 'true'.

  3. Create a Webhook:

    • On the 'Yes' path of the split, add a 'Webhook' action.

    • Configure the webhook using Karla's JSON Payload Template.

    • Fill In the URL, Key & Value with the given values in the Klaviyo Trigger inside the charles Flow

Repeat these Steps for all Karla Flows you would like to incorporate into your Charles SetUp.

What Happens Next?

Once a customer receives an email update about their order, the Klaviyo flow will check if they have a WhatsApp Opt-In. If they do, a trigger is sent to the Charles flow. The Charles flow then sends a WhatsApp message with the dynamic tracking URL for real-time updates.

How to Create a “Join Us on WhatsApp” Opt-In Block on Your Karla Tracking Page

Your Karla Tracking Page can be customized with various promotions to enhance customer engagement. One effective way to grow your WhatsApp subscriber list after a purchase is by adding a "Join Us on WhatsApp" opt-in promotion.

Steps to Set Up Your Opt-In Promotion

  1. Create a new Basic Promotion

    In the Karla Portal, go to the Basic Promotion section and create a new promotion.

  2. Craft a Catchy Hook

    Write an engaging promotion title that encourages customers to join your WhatsApp community. For example:“Get real-time updates and exclusive offers—join us on WhatsApp!”

  3. Add an engaging Call-to-Action (CTA)

    Create a compelling CTA button text that guides customers to opt in. Keep it short and action-oriented, such as "Join Now" or "Get Updates on WhatsApp".


  4. Insert Your WhatsApp Opt-In Link

    Use your unique wa.me link under the CTA button to allow customers to join with a single click.

💡 Optional: to make your promotion even more personalised, you can segment it and show it only to the customers, that are not yet subscribed to your WhatsApp updates. For that, in the segment section, choose or create a Klaviyo segment for Charles Non-Subscribers (e.g. with a condition charles_opt_in equals false) and add it to the promotion you’re creating.


JSON Payload (Please adjust the value “WEBSITE.DE” accordingly to your url:

{

"email": "{{ person.email }}",

"carrier": "{{ event.carrier|default:'' }}",

"zip_code": "{{ event.zip_code|default:'' }}",

"firstname": "{{ person.first_name|default:'' }}",

"external_reference_id": "{{person.KlaviyoID}}",

"carrier_url": "{{ event.tracking_url|default:'' }}",

"order_number": "{{ event.order_number|default:'' }}",

"phone_number": "{{ person.phone_number|default:'' }}",

"pick_up_until": "{{ event.pick_up_until|default:'' }}",

"neighbour_name": "{{ event.neighbour_name|default:'' }}",

"pick_up_address": "{{ event.pick_up_address|default:''}}",

"tracking_number": "{{ event.tracking_number|default:'' }}",

"karla_trackpage_url": "https://de.WEBSITE.DE/pages/tracking?orderNumber={{ event.order_number|default:'' }}&zipCode={{ event.zip_code|default:'' }}&ref=karla" }

Did this answer your question?