What Gets Synced
When Klaviyo is connected, Hotelia automatically pushes the following to your Klaviyo account:
Guest Profiles:
A profile is created or updated in Klaviyo whenever a guest:
Books a room (via the website widget or staff-entered reservation)
Checks in at the front desk
Checks out
Profile fields synced: email, first name, last name, phone number, booking source, last stay date, and total stays.
Events:
Three event types are pushed to Klaviyo's metric timeline:
Event Name | When It Fires | Source |
| A reservation is confirmed (widget or manual) | Server-side (widget) + client-side (dashboard) |
| Front-desk check-in completes | Dashboard |
| Checkout is finalized | Dashboard |
Each event includes these properties: confirmation_number, room_type, check_in_date, check_out_date, nights, total_amount, booking_source.
You can use these events to trigger Klaviyo flows: welcome emails, mid-stay upsells, post-stay reviews, win-back campaigns, and more.
Setup steps
1. Generate a Klaviyo Private API Key
Log in to your Klaviyo account.
Click your account name (bottom-left) → Settings → API keys.
Click Create Private API Key.
Give it a name (e.g. "Hotelia Integration").
Under Scopes, select:
Profiles: Full Access
Events: Full Access
Lists: Full Access (optional, for future list sync)
Click Create and copy the key (it starts with pk_…).
⚠️ Keep this key private. It grants write access to your Klaviyo account.
2. Connect Klaviyo in Hotelia
In Hotelia, go to Settings → Integrations.
Find the Klaviyo card and click Connect.
Paste your Private API Key into the field.
Click Connect.
Hotelia will:
Validate the key against Klaviyo's API
Encrypt and store it securely
Fetch and display your Klaviyo account name
Mark the integration as Connected
3. You're done
That's it. From this point on, every booking, check-in, and checkout will push to Klaviyo automatically. No further configuration needed in Hotelia.
Disconnecting
To disconnect Klaviyo, go to Settings → Integrations → Klaviyo and click Disconnect. The encrypted API key is removed, and event syncing stops immediately. Existing data in your Klaviyo account is unaffected.
Building flows in Klaviyo
Now that events are flowing in, you can build automated marketing flows in Klaviyo using the synced metrics:
Booking Confirmation Flow: trigger on Booking Created, send a branded confirmation, pre-arrival upsells, or local recommendations.
Welcome / Arrival Flow: trigger on Checked In, send Wi-Fi info, room service menus, or in-stay offers.
Post-Stay Flow: trigger on Checked Out, send thank-you emails, review requests, or loyalty offers.
Win-Back Flow: segment guests where total_stays >= 2 and last_stay_date is more than 90 days ago.
You can use these events to trigger Klaviyo flows such as welcome emails, mid-stay upsells, post-stay reviews, win-back campaigns, and more.
Troubleshooting
Events aren't appearing in Klaviyo
Confirm the integration shows Connected in Settings → Integrations.
Check that your API key has Profiles and Events scopes enabled.
New events can take 1–2 minutes to appear in Klaviyo's metric timeline.
2. Invalid API Key" error on connect
Make sure you copied the Private key (starts with pk_), not the Public key.
Regenerate the key in Klaviyo if it was previously revoked.
3. Profile fields look incomplete
Profile data reflects what was collected at the moment of the event. If a guest booked without a phone number, that field will be blank until they provide it (e.g. at check-in, when the profile is updated).
