> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riservahq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Klaviyo — reservation events for your flows and segments

*New*

Connect Klaviyo at **Settings → Integrations → Klaviyo** and Riserva sends an
event to Klaviyo at every reservation moment. From there it's ordinary
Klaviyo: build flows ("thank them the morning after a visit", "win back a
cancelled reservation"), segment on reservation behaviour, and report
alongside your store metrics.

***

## Connect it

1. In Klaviyo, go to **Account → Settings → API keys** and copy the
   6-character key under **Public API Key / Site ID**.
2. Paste it into **Public API key** under **Connection** and press
   **Connect**. The badge turns **Connected**; **Disconnect** stops all
   sending.

That's the whole setup. Riserva only ever asks for the **public** key — it
can't read anything in your account and is safe to share. If you paste a
*private* key (they start with `pk_`), Riserva refuses it and tells you why:
private keys are secrets, and no reservation app needs one.

***

## What gets sent

Every event carries the reservation's code, experience, venue, location,
party size, date, time, channel, and whether the guest is a member — plus
two properties built for flow emails: **`manage_url`** (the guest's
manage-reservation link, ready to drop behind a button) and
**`experience_image`** (the experience's photo URL, present only when it
has one). **Confirmed** also carries the paid amount as the event's
*value*, so Klaviyo's flow analytics report reservation revenue.

| Event | When |
| - | - |
| **Riserva Reservation Confirmed** | A reservation is confirmed — an online order, **Book reservation** in the admin, or a waitlist party seated. (A reservation booked on the POS register sends none.) |
| **Riserva Reservation Cancelled** | Cancelled, by the guest or by staff |
| **Riserva Reservation Rescheduled** | Moved to a new time or experience (the previous slot rides along) |
| **Riserva Reservation Checked In** | The guest arrives |
| **Riserva Reservation No-show** | Marked a no-show — by staff, or automatically when Settings → Reservations → No-shows says |

Each event has a **switch** — all on to start with. Switch one off and that
metric stops being sent; Riserva notes each skipped send on the reservation's
timeline, so "why isn't my flow firing" always has an answer.

Guests without an email address are skipped — Klaviyo events attach to a
profile, and a walk-in with no email has none.

> **Good to know**
> Events land on the guest's Klaviyo profile, creating it if it doesn't
> exist. A new profile arrives as **Never Subscribed** — an event never
> subscribes anyone to marketing. Flows you trigger from these events follow
> Klaviyo's own consent rules: transactional sends need Klaviyo's
> transactional approval, and SMS always requires consent.

***

## Prove it works

Under **Test integration**, pick an **Event**, enter your own address under
**Profile email**, and press **Send test event**. Then look in Klaviyo — **Analytics → Metrics**, or your
profile's activity feed. Allow a minute.

**Send all metrics** sends one sample event for every metric in one press — switched-off metrics are skipped and listed as such, mirroring exactly what live dispatch would do.

A mistyped key is rejected on the spot, but a **well-formed wrong key can be
accepted silently** — Klaviyo doesn't confirm keys. Seeing the test event in
Klaviyo is the real proof the connection works.

***

## The fine print

* **Events are sent once and never retried.** If Klaviyo is unreachable, the
  failure is recorded on the reservation's timeline — a marketing event can
  never block a booking.
* **Metric names are permanent** on Klaviyo's side, so Riserva's are too —
  build your flows on the names above with confidence.
* **A guest changing their email address** shows up in Klaviyo as a new
  profile — the public API can create profiles but not edit existing ones.

***

**What things mean on this screen:** [What things mean: Settings](/reference/settings)

## Related

* [Member benefits](/memberships/member-benefits)
* [Customer emails](/guest-experience/customer-emails) — Riserva's own
  transactional email, which keeps working alongside Klaviyo


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.