> For the complete documentation index, see [llms.txt](https://docs.roadmap.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roadmap.so/loyalty-and-rewards/loyalty-klaviyo-integration/loyalty-profile-properties-and-email-snippets.md).

# Loyalty profile properties and email snippets

Every loyalty property Roadmap writes to Klaviyo profiles, and the liquid snippets to show points balances, tiers, and expiry dates in your emails.

Roadmap keeps every customer's loyalty standing written to their Klaviyo profile. That gives you two superpowers: **segments and flow splits** built on loyalty status, and **email content** that shows each customer their own numbers.

### The properties

| Data point                            | Klaviyo property                                      |
| ------------------------------------- | ----------------------------------------------------- |
| Total points earned                   | `person.roadmap_loyalty_total_points`                 |
| Total points earned in period         | `person.roadmap_loyalty_total_points_earnt_in_period` |
| Total points expiring in next 30 days | `person.roadmap_loyalty_expiring_points`              |
| Points away from next tier            | `person.roadmap_loyalty_next_tier_points`             |
| Next tier name                        | `person.roadmap_loyalty_next_tier_name`               |
| Current tier name                     | `person.roadmap_loyalty_current_tier_name`            |
| Has Membership account                | `person.roadmap_has_account`                          |
| Total spent in period                 | `person.roadmap_total_spent_in_period`                |
| Birthday                              | `person.roadmap_loyalty_birthday`                     |
| Member since                          | `person.roadmap_loyalty_member_since`                 |
| Membership start date                 | `person.roadmap_loyalty_start_date`                   |
| Membership expiry date                | `person.roadmap_loyalty_expiry_date`                  |
| Next point expiry date                | `person.roadmap_loyalty_point_expiry_date`            |
| Points expiring on next expiry date   | `person.roadmap_loyalty_next_expiring_points`         |
| Latest order points earnt             | `person.roadmap_loyalty_latest_order_points_earnt`    |

You can also view this list — with the Subscriptions and Reviews property sets on their own tabs — inside the Roadmap app's Klaviyo integration settings.

{% hint style="info" %}
**Two expiring-points properties, two meanings:** `roadmap_loyalty_expiring_points` totals everything expiring in the **next 30 days**; `roadmap_loyalty_next_expiring_points` is the amount expiring on the **next expiry date** (with `roadmap_loyalty_point_expiry_date` telling you when that is). Use the pair for "your points expire on {date}" emails, and the 30-day total for urgency campaigns.
{% endhint %}

### Showing a property in an email

Drop the property into any Klaviyo email with a template tag. Always include a `default` so the email degrades gracefully for profiles without the property:

```liquid
{{ person.roadmap_loyalty_total_points|default:'' }}
```

Both syntaxes work — dotted and lookup:

```liquid
You have {{ person.roadmap_loyalty_total_points|default:'0' }} points.
{{ person|lookup:"roadmap_loyalty_next_expiring_points"|default:'0' }} points expire on {{ person.roadmap_loyalty_point_expiry_date|default:'' }}.
You're {{ person.roadmap_loyalty_next_tier_points|default:'' }} points away from {{ person.roadmap_loyalty_next_tier_name|default:'the next tier' }}.
```

That last pair — points away + next tier name — is the single most effective loyalty email line: a concrete, personal reason to place the next order.

### Profile properties vs event properties

Profile properties are the customer's **current standing** and work in any email. Each flow's **event properties** describe the specific moment that triggered it (the points earned on that order, the tier just reached) and only exist inside flows triggered by that metric — each [flow guide](/loyalty-and-rewards/loyalty-klaviyo-integration/loyalty-klaviyo-overview.md) documents its metric's event properties.

### Splitting flows and building segments

Use the properties in Klaviyo conditional splits and segment definitions — *Properties about someone*:

* `roadmap_has_account` **is true** — the customer has a loyalty account (the standard gate at the top of loyalty flows).
* `roadmap_loyalty_current_tier_name` **contains** *Gold* — tier-specific branches. This is exactly how the pre-built [Tier Earned flow](/loyalty-and-rewards/loyalty-klaviyo-integration/tier-earned-emails.md) routes customers to tier-specific emails.

### Related guides

* [Loyalty × Klaviyo: overview](/loyalty-and-rewards/loyalty-klaviyo-integration/loyalty-klaviyo-overview.md)
* [Points earned emails](/loyalty-and-rewards/loyalty-klaviyo-integration/points-earned-emails.md)
* [Points expiring reminders](/loyalty-and-rewards/loyalty-klaviyo-integration/points-expiring-reminders.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roadmap.so/loyalty-and-rewards/loyalty-klaviyo-integration/loyalty-profile-properties-and-email-snippets.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
