Skip to main content

How to Create Campaigns Using Klaviyo

Learn how to create email templates, custom events and flows in Klaviyo, and linking them to campaigns in Ventrata.

Updated over a month ago

To create a campaign in Ventrata first you need to create a flow in Klaviyo. To create a flow you need:

  • Trigger - an event, such as Booking Confirmation, that tells Klaviyo which flow to fire

  • Transactional Email - this is the content that is sent to the customer


Create Custom Event

Klaviyos Events API allows you to retrieve and create events that trigger flows. Each event has one metric—or event type—associated with it and a timestamp for when it occurred.

📗 TIP

Learn more about Events API in Klaviyo's developer documentation.

Prerequisites:

  • Have at least one profile identifier, such as id, email


    📗 TIP

    Typically, at least one profile (your email address) will be available. You can use this to create custom events.


Create a custom event:

📒 NOTE

Klaviyo's developer documentation provides examples of POST requests in common programming languages.

{
"data": {
"type": "event",
"attributes": {
"time": "2025-04-24T15:01:28Z",
"properties": {
"action": "Booking Confirmation",
"booking_code": "H8011Q0N",
"booking_duration": "1 hour",
"customer_first_name": "Eguenie Lalande",
"booking_question_answers": "Do you require a wheelchair?",
"booking_all_answers": "Yes"
},
"metric": {
"data": {
"type": "metric",
"attributes": {
"name": "Booking Confirmation"
}
}
},
"profile": {
"data": {
"type": "profile",
"attributes": {
"email": "[email protected]"
}
}
},
"unique_id": "UNIQUE-EVENT-ID"
}
}
}

Attribute

Description

properties

REQUIRED

use this space to insert variables you wish to use with the event; provide sample data for each property


📘 EXAMPLE

You can use general variables for your customers:

  • customer_full_name

  • customer_email

  • booking_total

But you may want to include specific booking related variables for the email type:

Booking Cancellation

  • booking_cancelled_at

Booking Confirmation

  • booking_created_at

and so on

metric

defines the event type; this can be named the same as your event

profile

Klaviyo is profile-based and requires a profile to associate events with; requires

  • id

  • email - you can use the email you use to log into Klaviyo as it already exists as a profile

  • phone_number

unique_id

unique identifier of the event


📗 TIP

Use uuidv4 or similar to create unique IDs for your events.

📗 TIP

Learn more about events data model in Klaviyo's developer documentation.


Verify Event Creation

If your request was successful, you should see the metric of your custom event added in Klaviyo.

  1. Go to your Klaviyo dashboard.

  2. Navigate to Analytics > Metrics.

    Analytics > Metrics

  3. In the list of metrics, you will notice the corresponding metric is added.

    In this case 'Booking Confirmation'.

    Custom Metric


Create Email Template

  1. In your Klaviyo dashboard, go to Content > Templates.

  2. Press the Create button.

    Create Template

  3. Use the WYSIWYG editor to drag and drop content into the email template.

    Edit Template


    📒 NOTE

    Insert variables into your template to populate your emails with actual values form individual bookings. Typically, your variables will relate to the event—like Booking Confirmation. So a variable will have the following format:

    event.ventrata_variable|default:"

    Replace ventrata_variable with the appropriate Klaviyo variable.


  4. When you are done editing, press the Exit button.

    Exit Editor


Create Flow

  1. In your Klaviyo dashboard, go to Flows.

  2. Press the Create flow button.

    Klaviyo - Create Flow

  3. Then, press the Build your own button.

    Klaviyo - Build Your Own Flow

  4. Enter a name for your flow, such as 'Booking Confirmation'.

  5. Press the Create flow button.

    Klaviyo - Create Flow

  6. Select your custom metric by going to Your metrics > API.

  7. Then choose the custom event.

    In this case 'Booking Confirmation'.

    Select Custom Trigger

  8. Press Save to set up your trigger.

    Set up Trigger

  9. Confirm and save your trigger selection.

    Confirm and Save Trigger Selection

  10. Drag and drop the Email action into the flow.

    Add Email

  11. Click on the email box to view Email details.

    Email Details

  12. Set the following parameters:

    • Email name - internal name of the email

    • Subject line - the subject line as it will appear in customers' inboxes

    • Preview text - the line below the subject line; if not provided, the beginning of the email body is shown

      Press Edit sender to view the following:

    • Sender name - the name that appears in the sender information (for example, Ventrata)

    • Sender email address - by default, this is the email used to log into your Klaviyo account; change it here as needed

    • Uncheck the 'Use as reply-to' to specify a reply-to address

    • Add Cc and Bcc addresses

      Edit Subject and Sender

  13. Press the Select template button.

  14. Switch to the Email: saved tab.

    Email: Saved

  15. On your template, press the three dots and select 'Use template'.

    Use Template

  16. Press the Preview & test button.

    Preview & Test

  17. Scroll down the right-hand pane to 'All properties'.

    You will see two sets of properties:

    • Event properties - these are the properties specified by you when creating the custom event, populated with your sample data

    • Profile properties - these are properties collected by Klaviyo for each profile

  18. Click on any property to copy and press Done in the top right corner.

  19. Paste the copied property into the correct position in your template.


    📒 NOTE

    Repeat steps 16. to 19. for each property you wish to use in your template.


  20. When your template is ready, press the Exit button in the top right corner.

    Exit Template Editor

  21. Then press the Done button in the top right corner to return to the flow.

    Return to Flow Editor

  22. In the flow editor, make sure the email step is selected and edit the email details as follows:

    • Status - Manual

      Email Status

    • Skip recently emailed profiled - ❗️MUST BE DISABLED❗️

    • Enable UTM Tracking & Use custom tracking parameters - Optional

  23. Finally, press the Save button to save your flow settings.

    Save Flow

  24. You can now exit the flow.

    Exit Flow Setup


Turn Email into Transactional

You will need Klaviyo's Support team to help you with this step. The email must fulfil the following conditions:

Prerequisites:

  • Your Klaviyo account must be a paid account.

  • The email status is set to MANUAL.

  • The email DOES NOT have an A/B test set up for it.

  • The email must not be imported from your e-commerce platform into Klaviyo.

Ask Klaviyo for Support

  1. Select Email support.

    Email Support

  2. Select a category and your issue.

    Issue Settings

  3. Scroll down the form to submit a request.

    Submit a Request

  4. In the free text box, include

    • a message describing your need to make your email into transactional

    • link to the flow email


    📗 TIP

    To obtain the correct email URL, open your flow, select the email action, and copy the URL from your browser's address bar. Paste it into your support request.

    Edit Template


  5. Select 'High' priority.

    High Priority

  6. Press Submit to send your request to Klaviyo.

    Submit

Klaviyo's Support Team responds within 24 hours, but typically, your email is marked as transactional much sooner.


Turn Email Live

Once your flow is set up and the email has been marked 'TRANSACTIONAL', you can activate it by switching its status to LIVE.

  1. In your Klaviyo dashboard, go to Flows.

  2. Select your flow.

  3. In the flow builder, select the Email block.

  4. Change the status from MANUAL to LIVE.

    Switch Email to Live


Create Campaign in Ventrata

  1. Log in to your Ventrata dashboard.

  2. Go to Products > Campaigns.

    Products - Campaigns

    Campaigns

  3. Press the + New Campaign button.

    Campaign - + New Campaign

    New Campaign

  4. Enter a campaign name.

  5. Keep the ‘Active’ field ticked.

    Enter Name

    Campaign Name

  6. Select the ‘Klaviyo’ campaign manager.

    Campaign Manager

  7. Select your Klaviyo dummy trigger flow.

    Campaign Template

  8. ou can include a promotion.

    Promotion

    Promotion

  9. Check ‘Scheduled’ to send campaigns automatically when conditions specified using the below parameters are met:

    • bookings made between the selected dates and times

      Booking Period

      Booking Date Range

    • travel dates between the specified dates

      Validity

      Travel Date Range

    • X days before or after Travel Date, Booking Date, Redemption Date or Cancellation Date

      Schedule

      Schedule

  10. Target your campaign at bookings specified by ‘Booking Sources’, ‘Booking Types’ and ‘Booking Statuses’.

    Campaign Booking Parameters

    Campaign Targets

  11. Target specific languages.

    Languages

    Customer Languages

  12. Select what type of channel the campaign should use to deliver receipts (email or sms only).

    Only Email Receipt & Only SMS Receipt

    Campaign Channels

  13. Target specific destinations, products and resellers.

    Additional Campaign Parameters

    Blacklist/Whitelist

  14. Press the Create Campaign button.

    Create Campaign

    Create Campaign

Did this answer your question?