What does the integration with Klaviyo do?
When enabled, Firmhouse sends a message to Klaviyo with metadata about and event. An event can be a new subscriber signing up, a new order getting created, etc. These events correspond with the same email (templates) that Firmhouse would send if Klaviyo was disabled.
When an even is sent to Klaviyo, it's recorded as a "metric" there. To turn metrics into emails, you need to create flows in Klaviyo that run based on these metrics.
Overview
Here's an overview of the steps to enable and set up Klaviyo. Each step is explained in more detail below.
In Firmhouse, go to Apps -> Klaviyo -> Configure
Enable your Klaviyo app
Add your Klaviyo API key
Enable the "Use Klaviyo events editor" checkbox.
This will replace your existing email templates in the templates editorSave the settings. At this point, the Klaviyo connection is enabled in Test mode, allowing you to prepare Klaviyo payload templates before fully making the switch
Edit the templates in Firmhouse
Test event triggers
Set up your flows in Klaviyo
Change the communication channel of the project from "Email" to "Klaviyo".
Open the Klaviyo app
Go to the Klaviyo app in the Firmhouse menu: Apps -> Klaviyo -> Configure.
Enable the Klaviyo app (not needed for first setup)
If you've previously tried to set up the app, and then decided to disable it, you will need to enable it again. To do this, click on Enable Klaviyo app:
Add the Klaviyo API key and enable the events editor
To link Firmhouse to Klaviyo, you will need your Klaviyo API key (learn how to get it). After you enter the API key, select the checkbox Use Klaviyo events editor. This will enable the template editor for all the events that Firmhouse sends to Klaviyo.
When you're ready, click Save.
💡Test mode
At this step, you should see the app Status show Test mode. This means the app and Klaviyo events editor are enabled, but the communication channel for the project is still set to emails.
This gives you the opportunity to prepare and test the Klaviyo event template, without disrupting your working email templates.
Edit the templates
Go to Settings -> Email configuration to find all events Firmhouse can send to Klaviyo.
The top bar will show if the Klaviyo integration is active or not.
Test mode:
Live mode:
The key difference between Klaviyo and email templates is that Klaviyo templates need to be in valid JSON format. When editing the templates, you can use the same Liquid tags that are used with email. To get started fast, you can use our standard templates for easy copy-pasting of Klaviyo payload templates.
Set a Klaviyo event name for reach event. Flows in Klaviyo use these metrics as a starting point, reading from the data in the template.
Test the events
Test your events to make sure they are formatted correctly and contain the information you expect. Click on Send test Klaviyo event. Enter your email address in the pop-up and you will receive the event with some example data.
Set up the flows in Klaviyo
Refer to the Klaviyo Help Center to learn more about how to use flows and metrics. If you need any help troubleshooting the flow, contact Klaviyo support.
Change the communication channel of the project to Klaviyo
When you're ready to complete the switch, go to Settings -> Subscription model -> Notification services and change the channel to Klaviyo. Scroll all the way down and click Update project.
Important - Mark Firmhouse flows transactional in Klaviyo
Klaviyo is primarily used to send out marketing emails. It allows your email subscribers to unsubscribe from receiving any more marketing content from you.
An unwanted side-effect of this is that it prevents you from sending the Firmhouse transactional emails. To make sure all Firmhouse transactional emails are sent, please contact Klaviyo support and ask them to mark the flows that contain Firmhouse emails as transactional.
See this Klaviyo help article for more information.
Troubleshooting Klaviyo templates
If the events don't arrive in Klaviyo, the most likely cause is there's a problem with the JSON formatting of the template. This should show up as an error in your project Notifications. In these cases, you can try an online JSON validator, which will highlight where the problem is.
Additional resources
A list of possible Liquid tags to use to provide dynamic content to Klaviyo