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 in: events and customer properties
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. Loyalty members are matched to your Omnisend contacts by email address; anyone not already on your list is skipped. No new contacts are created, so this won't grow your contact count or your bill.
Syncing may take some time. During the sync, customer data such as subscription status, profile existence, or VIP status may be temporarily inconsistent if other updates or recalculations occur simultaneously.
To avoid data inconsistencies, please do not perform other sync or recalculation tasks until the sync is complete.
Step 1: Connect Omnisend
The connection uses OAuth — no API key to create or store, you just approve it 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 gear button in the top-right corner of the Omnisend page (also available on the Integrations page, next to the Email marketing integrations heading).
In the Loyalty event settings window, tick the events you want to send:
The four expiring events add a day field when ticked. Enter how many days ahead the reminder goes out (1–999) — typically a longer Warning, such as 30 days, and a shorter Last Chance, such as 3 days.
⚠️ Event settings are shared across all your connected email platforms. The events come from CWILL Loyalty, not from any one email app, so this is a single list — what you tick here also goes to Klaviyo or other platforms, and turning an event off turns it off everywhere.
All events are off by default, so turn on only the ones you plan to use.
Events
Events reach Omnisend in real time and appear as Custom events in the automation trigger dropdown, prefixed with CWILL Loyalty - — ticking Points earned gives you CWILL Loyalty - Points earned.
The four expiring reminders and the birthday event are sent at 10:00 AM in your store's time zone, on the day set in Event settings.
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 | Ahead of the points expiring — 30 days before by default. |
CWILL Loyalty - Points expiring - Last chance | The last reminder before the points expire. |
CWILL Loyalty - Reward expiring - Warning | Ahead of the coupon expiring — 30 days before by default. |
CWILL Loyalty - Reward expiring - Last chance | The last reminder before the coupon expires. |
CWILL Loyalty - Birthday reward available | On the first day a customer can claim their birthday reward. If they change their birthday before claiming, the event fires again on the new date. |
CWILL Loyalty - Referral share | When a referred friend submits their email address and the referral goes pending. 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: Don't add expiring_days_before as a trigger filter in Omnisend. The event already fires only on the day set in Event settings, so a filter just makes 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 |
| number |
| Total referrals the referrer has completed successfully, including this one | 3 |
What Gets Synced — Customer Properties
These are written to your Omnisend contacts and kept up to date automatically. Use the Omnisend syntax column 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 |
💡 Two handy filters. A property can be empty — a customer with no tier yet, for example — so set a fallback, and reformat dates as you like:
[[contact.custom_properties.cwloy_tier_name | default: "Member"]]
[[contact.custom_properties.cwloy_points_expiry_date | date: "%B %d, %Y"]] → August 31, 2025
Things to Keep in Mind
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. Loyalty properties are missing, or a value looks out of date.
Click Sync data on the Omnisend page to refresh everyone. If one customer still has nothing, check they exist in Omnisend under the same email address — the sync skips members who aren't already there.
2. The sync failed.
Check the badge still shows Connected, reconnect if the authorization expired, then sync again. If it keeps failing, contact support with the time you tried.
3. My event isn't in the Omnisend trigger dropdown.
Make sure it's ticked in Event settings and saved, then refresh the Omnisend workflow builder — custom events appear only after Omnisend has received them once.
4. My personalization tag shows up as plain text.
Usually the wrong bracket style or a typo. Use [[event.points_added]] for event data and [[contact.custom_properties.cwloy_points_balance]] for profile data.
5. The banner says my connection has expired.
Click Connect on the Omnisend card and approve again. Your event settings and sync history are preserved.

