Overview
Connecting CWILL Loyalty with Omnisend lets you trigger Omnisend automations from loyalty events like points earned, tier upgrades, and expiring rewards — and use loyalty data such as points balance and tier name to personalize your email, SMS, and push messages.
Two types of data flow into Omnisend once you're connected:
Events — real-time loyalty activity (points earned, reward redeemed, tier upgraded…). In Omnisend these arrive as Custom events and can be used to trigger automation workflows.
Customer properties — profile attributes (points balance, tier name, referral link…) kept in sync on your Omnisend contacts. In Omnisend these show up as Custom properties and can be used for segments and personalization.
Setup takes 3 steps:
Connect Omnisend
Sync data
Pick the loyalty events to send in Event settings
Before You Start
You need the Growth plan or above.
We only update contacts that already exist in Omnisend. The sync matches your loyalty members against your existing Omnisend contact list by email address and fills in their loyalty properties. It never adds new contacts — loyalty members who aren't already in your Omnisend list are skipped, so this integration won't grow your contact count or your bill.
Step 1: Connect Omnisend
CWILL Loyalty connects to Omnisend through OAuth. You don't need to create, copy, or store an API key — you just approve the connection once inside Omnisend.
How to connect:
In CWILL Loyalty admin, go to Integrations
Under Email marketing integrations, open Omnisend
Click Connect
You'll be redirected to Omnisend
Review the permissions and click Allow
You'll be redirected back to CWILL Loyalty
Permissions requested: Read & write contacts,events and brand.
Step 2: Sync Data
After connecting, click Sync data on the Omnisend page. This fills in the loyalty properties on the contacts you already have in Omnisend.
Wait until you see "Sync successful. Customer properties is now up to date." — that's it.
💡 You only need to sync once. From then on, loyalty properties stay up to date automatically whenever a value changes in CWILL Loyalty.
Step 3: Pick the Loyalty Events to Send
Events are what trigger your Omnisend automations. You choose which ones to send in Event settings.
Click Event settings — the button with the gear icon in the top-right corner of the Omnisend page. (You can also reach it from the Integrations page, next to the Email marketing integrations heading.)
In the Loyalty event settings window, tick the events you want to send:
Tick to enable | Extra setting |
Points earned | — |
Reward redeemed | — |
Tier upgraded | — |
Referral share | — |
Referral completed | — |
Birthday reward available | — |
Points expiring - Last Chance | When the points are expiring in ___ days |
Points expiring - Warning | When the points are expiring in ___ days |
Reward expiring - Last Chance | When the reward is expiring in ___ days |
Reward expiring - Warning | When the reward is expiring in ___ days |
For the four expiring events, tick the box and a day field appears underneath. Enter how many days ahead the reminder should go out — any whole number from 1 to 999. The typical setup is a longer Warning (for example 30 days) and a shorter Last Chance (for example 3 days).
Click Save.
⚠️ These settings are shared across all your connected email marketing platforms. The loyalty events are produced by CWILL Loyalty, not by any one email app, so Event settings is a single list — what you tick here is sent to Klaviyo, Omnisend, and Cartsee alike. Turning an event off here turns it off everywhere. That's also why the button lives on the Email marketing integrations group rather than on one platform's page.
⚠️ Note: All events are off by default — turn on only the ones you plan to use, to keep your Omnisend account clean.
Events
Events are sent to Omnisend in real time and appear as Custom events in the automation trigger dropdown.
The short names you tick in Event settings arrive in Omnisend with a CWILL Loyalty - prefix, so they're easy to find in a long trigger list. For example, ticking Points earned produces the Omnisend custom event CWILL Loyalty - Points earned.
Event in Omnisend | When it's sent |
CWILL Loyalty - Points earned | When a customer successfully earns points. |
CWILL Loyalty - Reward redeemed | When a customer redeems points for a reward coupon. |
CWILL Loyalty - Tier upgraded | When a customer's loyalty tier is upgraded. |
CWILL Loyalty - Points expiring - Warning | Sent 30 days before expiry by default, at 10:00 AM in your store's time zone. You can change the number of days in Event settings. |
CWILL Loyalty - Points expiring - Last chance | The final reminder before points expire, sent at 10:00 AM in your store's time zone. You can change the number of days in Event settings. |
CWILL Loyalty - Reward expiring - Warning | Sent 30 days before the coupon expires by default, at 10:00 AM in your store's time zone. You can change the number of days in Event settings. |
CWILL Loyalty - Reward expiring - Last chance | The final reminder before a coupon expires, sent at 10:00 AM in your store's time zone. You can change the number of days in Event settings. |
CWILL Loyalty - Birthday reward available | When a customer becomes eligible to claim their birthday reward. Sent at 10:00 AM in your store's time zone on the first eligible day of the claim window. If a customer updates their birthday and hasn't claimed this year's reward yet, the event fires again on the new eligible date. |
CWILL Loyalty - Referral share | When a referred friend submits their email address and the referral enters a pending state. This event is sent to the referred friend. |
CWILL Loyalty - Referral completed | When a referral is successfully completed and the referrer earns their reward. This event is sent to the referrer. |
Event Properties
Each event carries extra data you can use in trigger filters, conditional splits, and message personalization. In Omnisend these appear as custom fields on the event.
CWILL Loyalty - Points earned
Property | Type | Omnisend syntax | Description | Example |
| number |
| Points earned in this action | 50 |
| text |
| Source of the points. One of: Sign up reward, Place an order, Referral reward, Birthday reward, Subscribe to newsletter, Share on X, Share on Facebook, Follow on Instagram, Follow on TikTok, Points import, Points reset, Leave a review, Leave a review with photos, Visit website reward, Subscribe to YouTube, Visit a URL reward, Custom action, Edit balance, Flow reward | Place an order |
| text |
| Label shown in the customer's activity feed | Earned points for purchase |
CWILL Loyalty - Reward redeemed
Property | Type | Omnisend syntax | Description | Example |
| text |
| Coupon code issued to the customer | CWL-123456 |
| text |
| Name of the reward | $10 off |
| date |
| Expiry date of the coupon | 2025-09-15 |
| number |
| Points deducted for this redemption | 200 |
| text |
| Timestamp of the redemption | 2025-07-10T14:32:00Z |
| list |
| Terms and conditions of the coupon | ["Min spend $50", "single use"] |
CWILL Loyalty - Tier upgraded
Property | Type | Omnisend syntax | Description | Example |
| text |
| Tier the customer has been upgraded to | Gold |
| text |
| Tier the customer was on before the upgrade | Silver |
CWILL Loyalty - Points expiring — Warning / Last chance
Both events carry the same properties.
Property | Type | Omnisend syntax | Description | Example |
| number |
| Number of points about to expire | 320 |
| date |
| Date those points expire | 2025-08-31 |
| number |
| Days remaining until expiry | 7 |
CWILL Loyalty - Reward expiring — Warning / Last chance
Both events carry the same properties.
Property | Type | Omnisend syntax | Description | Example |
| text |
| Coupon code | CWL-123456 |
| text |
| Name of the reward | $10 off |
| date |
| Date the coupon expires | 2025-09-15 |
| number |
| Days remaining until expiry | 3 |
⚠️ Note: You don't need to add expiring_days_before as a trigger filter in Omnisend. This value is already controlled by the day setting in Event settings — the event only fires on the day you configured, so an extra filter would just make the workflow harder to maintain.
CWILL Loyalty - Birthday reward available
Property | Type | Omnisend syntax | Description | Example |
| number |
| Birthday reward points value | 100 |
| date |
| Customer's birthday date | 2025-08-15 |
CWILL Loyalty - Referral share
Sent to the referred friend.
Property | Type | Omnisend syntax | Description | Example |
| text |
| Name of the referrer | Jane Smith |
| text |
| Email of the referrer | |
| number |
| Points awarded to the referred friend | 50 |
| text |
| Coupon name issued to the referred friend | 10% off first order |
| text |
| Coupon code issued to the referred friend | CWL-123456 |
CWILL Loyalty - Referral completed
Sent to the referrer.
Property | Type | Omnisend syntax | Description | Example |
| text |
| Reward name issued to the referrer | $15 off |
| text |
| Email of the referred friend | |
| number |
| Points awarded to the referrer | 100 |
| text |
| Coupon code issued to the referrer | CWL-123456 |
What Gets Synced — Customer Properties
These properties are written to your existing Omnisend contacts and updated automatically whenever the value changes in CWILL Loyalty. Use the Omnisend syntax column to reference them in messages and segment conditions.
Property | Type | Omnisend syntax | Description | Example |
| text |
| Membership status: | member |
| date |
| Customer's birthday. Defaults to 1970 as the year if no year was provided | 1970-08-15 |
| number |
| Current redeemable points balance | 480 |
| date |
| Expiry date of the customer's points | 2025-08-31 |
| text |
| Name of the customer's current loyalty tier | Gold |
| text |
| Name of the next tier, based on tier order in the CWILL Loyalty admin | Platinum |
| date |
| Date on which the customer's current tier expires | 2026-01-01 |
| list |
| Perks and benefits of the customer's current tier | ["Free shipping", "2x points"] |
| text |
| Customer's unique referral link | |
| date |
| The date the customer last earned points | 2025-07-02 |
| date |
| The date the customer last redeemed points | 2025-07-10 |
💡 Tip — always set a fallback. Properties can be empty (a customer with no tier yet, for example). Add a default so your email doesn't show a blank space:
[[contact.custom_properties.cwloy_tier_name | default: "Member"]]
💡 Tip — formatting dates. Omnisend can reformat date values for you:
[[contact.custom_properties.cwloy_points_expiry_date | date: "%B %d, %Y"]] → August 31, 2025
Things to Keep in Mind
Event settings are shared across email platforms. One list, applied to every connected email marketing app. If you also use Klaviyo or Cartsee, ticking or unticking an event changes what they receive too.
Turning an event off stops new sends, but keeps past data. Events already received stay in Omnisend; workflows using that trigger simply stop firing.
The connection is tied to one Omnisend account. Authorizing from a different account replaces the existing connection rather than adding a second one.
Troubleshooting
1. I connected successfully but no loyalty properties appear on my Omnisend contacts.
Click Sync data on the Omnisend page. Properties are created on the first sync and updated automatically afterwards. If a specific customer still has nothing, check that they exist in your Omnisend contact list under the same email address — the sync skips loyalty members who aren't already in Omnisend.
2. The sync failed.
Check that the badge still shows Connected — if the authorization expired, reconnect first. Then click Sync data again. If it keeps failing, contact support with the time you tried.
3. My event isn't in the Omnisend trigger dropdown.
Confirm the event is ticked under Event settings and that you clicked Save. Then refresh the Omnisend workflow builder — custom events only appear after Omnisend has received them at least once.
4. My personalization tag shows up as plain text in the email.
You're most likely using the wrong bracket style or a typo'd property name. Use [[event.points_added]] for event data and [[contact.custom_properties.cwloy_points_balance]] for profile data.
5. A customer's points balance in Omnisend is out of date.
Properties sync automatically on every loyalty action. If a value looks stale, click Sync data to force a refresh for all customers.
6. The banner says my connection has expired.
Click Connect on the Omnisend card and approve again in Omnisend. Your event settings and sync history are preserved.
