Overview
Connecting TrustWILL Loyalty with Klaviyo allows you to sync loyalty data and trigger personalized email flows.
Setup takes 3 simple steps:
Authorize the connection via OAuth
Sync customer data
Configure event sending
Step 1: Authorize via OAuth
We have upgraded our integration with Klaviyo to use OAuth authorization.
How to connect:
In TrustWILL Loyalty admin, go to Integrations > Klaviyo
Click Connect
You’ll be redirected to Klaviyo, log in if prompted
Review permissions and click Allow
You’ll be redirected back to TrustWILL Loyalty
✅ A green “Connected” status confirms successful authorization
Permissions requested:
Read & write account
Read & write profile
Read & write events
Read & write lists
Tip: If you previously connected using a private API key, switching to OAuth will retain your event and profile permissions.
Step 2: Sync Customer Data
After connecting, sync your existing loyalty data to Klaviyo. This creates or updates customer profiles with loyalty properties.
How to sync:
Go to Integrations > Klaviyo
Click Sync data
The sync runs in the background and may take a few minutes depending on your customer volume.
Once completed, the Last synced timestamp will update
Important notes:
Make sure to sync data, otherwise customer attributes will not be fully synced to Klaviyo.
After the initial sync, customer properties are kept up to date automatically — you do not need to run a manual sync again unless you suspect data is out of sync.
What Gets Synced — Customer Properties
These properties are synced to Klaviyo customer profiles and updated automatically. Use the Klaviyo syntax column to reference them in email templates and segment conditions.
Property | Type | Klaviyo syntax | Description | Example |
trustwill_state | text | {{ person.trustwill_state }} | Membership status of the customer | member |
trustwill_birthday | text | {{ person.trustwill_birthday }} | Customer's birthday. Defaults to 1970 as the year if no year was provided | 1970-08-15 |
trustwill_points_balance | number | {{ person.trustwill_points_balance }} | Current redeemable points balance | 480 |
trustwill_points_expiry_date | date | {{ person.trustwill_points_expiry_date }} | Expiry date of the customer's points | 2025-08-31 |
trustwill_tier_name | text | {{ person.trustwill_tier_name }} | Name of the customer's current loyalty tier | Gold |
trustwill_next_tier_name | text | {{ person.trustwill_next_tier_name }} | Name of the next tier, based on tier order in TrustWILL admin | Platinum |
trustwill_tier_expiration_date | text | {{ person.trustwill_tier_expiration_date }} | Date on which the customer's current tier expires | 2026-01-01 |
trustwill_tier_rewards | list | {{ person.trustwill_tier_rewards.0 }} {{ person.trustwill_tier_rewards.1 }} | Perks and benefits of the customer's current tier | ["Free shipping", "2x points"] |
trustwill_referral_url | text | {{ person.trustwill_referral_url }} | Customer's unique referral link |
Tip: Use a fallback value for properties that may be empty:
{{ person.trustwill_tier_name|default:"Member" }}
Notes: For customers who previously integrated using an API key, the original five profile properties will remain available. You can migrate to the new properties at any time without affecting existing workflows.
For details on the original five profile properties, please refer to: How to integrate with Klaviyo via API key
Step 3: Configure Event Sending
Events send real-time loyalty activity to Klaviyo and can be used as flow triggers.
How to enable events:
Go to Integrations > Klaviyo
Click Send events
Toggle on the events you want
Click Save
⚠️ Note:
Events are off by default — enable only what you need to keep your account clean.
After the event is saved, we will send Klaviyo a sample data payload for this event. We will also create a test customer in your customer list, shown as something like [email protected]. You may see some event attributes labeled as “sample” or similar wording, there is no need to worry about these.
Available Events
Event attributes are additional data attached to each loyalty event, such as points earned, tier name, or reward details that can be used for flow triggers, conditional splits, and email personalization.
Klaviyo only shows event attributes from events that have been triggered by real customers before. If no customer has triggered a specific event yet, the Flow trigger filter will only display sample data for its attributes, not real values from your account.
Event | Property | Type | Klaviyo syntax | Description | Example |
TrustWILL - Points earned
| points_added | number | {{ event.points_added }} | Points earned in this action | 50 |
| earn_action | text | {{ event.earn_action }} | Source of the points — a Ways to Earn action name, a manual note, or "none" | Place an order |
| activity_title | text | {{ event.activity_title }} | Label shown in the customer's activity feed | Earned points for purchase |
TrustWILL - Reward redeemed
| reward_code | text | {{ event.reward_code }} | Coupon code issued to the customer | CWL-123456 |
| reward_name | text | {{ event.reward_name }} | Name of the reward | $10 off |
| reward_expiry_date | date | {{ event.reward_expiry_date }} | Expiry date of the coupon | 2025-09-15 |
| points_spent | number | {{ event.points_spent }} | Points deducted for this redemption | 200 |
| reward_redeemed_date | text | {{ event.reward_redeemed_date }} | Timestamp of the redemption | 2025-07-10T14:32:00Z |
| reward_terms | list | {{ event.reward_terms.0 }} {{ event.reward_terms.1 }} | Terms and conditions of the coupon | ["Min spend $50", "single use"] |
TrustWILL - Tier upgraded
| current_vip_tier | text | {{ event.current_vip_tier }} | Tier the customer has been upgraded to | Gold |
| previous_vip_tier | text | {{ event.previous_vip_tier }} | Tier the customer was on before the upgrade | Silver |
TrustWILL - Points expiring
| expiring_points | number | {{ event.expiring_points }} | Number of points about to expire | 320 |
| points_expiry_date | date | {{ event.points_expiry_date }} | Date those points expire | 2025-08-31 |
| expiring_days_before | number | {{ event.expiring_days_before }} | Days remaining until expiry | 7 |
TrustWILL - Reward Expiring
| reward_code | text | {{ event.reward_code }} | Coupon code | CWL-123456 |
| reward_name | text | {{ event.reward_name }} | Name of the reward | $10 off |
| reward_expiry_date | date | {{ event.reward_expiry_date }} | Date the coupon expires | 2025-09-15 |
| expiring_days_before | number | {{ event.expiring_days_before }} | Days remaining until expiry | 3 |
TrustWILL - Birthday reward available
| birthday_points | number | {{ event.birthday_points }} | Bonus points issued on the customer's birthday | 100 |
| birthday_date | date | {{ event.birthday_date }} | Customer's birthday date | 2025-08-15 |
TrustWILL - Referral share
| customer_name | text | {{ event.customer_name }} | Name of the referrer | Jane Smith |
| customer_email | text | {{ event.customer_email }} | Email of the referrer | |
| friend_reward_points | number | {{ event.friend_reward_points }} | Points awarded to the referred friend | 50 |
| friend_reward_name | text | {{ event.friend_reward_name }} | Coupon name issued to the referred friend | 10% off first order |
| friend_reward_code | text | {{ event.friend_reward_code }} | Coupon code issued to the referred friend | CWL-123456 |
TrustWILL - Referral completed
| customer_reward_name | text | {{ event.customer_reward_name }} | Reward name issued to the referrer | $15 off |
| friend_email | text | {{ event.friend_email }} | Email of the referred friend | |
| customer_reward_points | number | {{ event.customer_reward_points }} | Points awarded to the referrer | 100 |
| customer_reward_code | text | {{ event.customer_reward_code }} | Coupon code issued to the referrer | CWL-123456 |
Note: No need to add expiring_days_before as a Klaviyo Flow trigger filter. This value is already controlled by your TrustWILL Loyalty settings. The event automatically fires on the day you configured, so no additional filter is needed.
Troubleshooting
I connected successfully but no profile properties appear in Klaviyo.
Run a manual Sync Customer Data from the Klaviyo integration page. Properties are created on first sync and updated automatically going forward. If a customer profile did not exist in Klaviyo before the sync, it will be created now.
Events are not showing up as flow triggers in Klaviyo.
Confirm the event is toggled on under Integrations > Klaviyo > Send Events. An event must fire at least once after being enabled before it appears as an available trigger in Klaviyo's flow builder.
A customer's points balance in Klaviyo is out of date.
Profile properties sync automatically on every loyalty action. If a value looks stale, use the manual Sync Customer Data option to force a refresh for all customers.
My OAuth authorization expired or was revoked.
Go to Integrations > Klaviyo and click Reconnect. This will re-run the OAuth flow. Your event configuration and sync settings will be preserved.





