Skip to main content

How to Integrate with Omnisend

Connect Omnisend via OAuth, sync loyalty properties to your contacts, and choose which loyalty events to send, with a full tag reference and troubleshooting.

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:

  1. Connect Omnisend

  2. Sync data

  3. 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:

  1. In CWILL Loyalty admin, go to Integrations

  2. Under Email marketing integrations, open Omnisend

  3. Click Connect

  4. You'll be redirected to Omnisend

  5. Review the permissions and click Allow

  6. 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.

  1. 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).

  2. In the Loyalty event settings window, tick the events you want to send:

    1. 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

points_added

number

[[event.points_added]]

Points earned in this action

50

earn_action

text

[[event.earn_action]]

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

activity_title

text

[[event.activity_title]]

Label shown in the customer's activity feed

Earned points for purchase

CWILL Loyalty - Reward redeemed

Property

Type

Omnisend syntax

Description

Example

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]]

Terms and conditions of the coupon

["Min spend $50", "single use"]

CWILL Loyalty - Tier upgraded

Property

Type

Omnisend syntax

Description

Example

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

CWILL Loyalty - Points expiring — Warning / Last chance

Both events carry the same properties.

Property

Type

Omnisend syntax

Description

Example

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

CWILL Loyalty - Reward expiring — Warning / Last chance

Both events carry the same properties.

Property

Type

Omnisend syntax

Description

Example

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

⚠️ 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

birthday_points

number

[[event.birthday_points]]

Birthday reward points value

100

birthday_date

date

[[event.birthday_date]]

Customer's birthday date

2025-08-15

CWILL Loyalty - Referral share

Sent to the referred friend.

Property

Type

Omnisend syntax

Description

Example

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

CWILL Loyalty - Referral completed

Sent to the referrer.

Property

Type

Omnisend syntax

Description

Example

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

referral_completion_count

number

[[event.referral_completion_count]]

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

cwloy_state

text

[[contact.custom_properties.cwloy_state]]

Membership status: member / guest / exclude

member

cwloy_birthday

date

[[contact.custom_properties.cwloy_birthday]]

Customer's birthday. Defaults to 1970 as the year if no year was provided

1970-08-15

cwloy_points_balance

number

[[contact.custom_properties.cwloy_points_balance]]

Current redeemable points balance

480

cwloy_points_expiry_date

date

[[contact.custom_properties.cwloy_points_expiry_date]]

Expiry date of the customer's points

2025-08-31

cwloy_tier_name

text

[[contact.custom_properties.cwloy_tier_name]]

Name of the customer's current loyalty tier

Gold

cwloy_next_tier_name

text

[[contact.custom_properties.cwloy_next_tier_name]]

Name of the next tier, based on tier order in the CWILL Loyalty admin

Platinum

cwloy_tier_expiration_date

date

[[contact.custom_properties.cwloy_tier_expiration_date]]

Date on which the customer's current tier expires

2026-01-01

cwloy_tier_rewards

list

[[contact.custom_properties.cwloy_tier_rewards]]

Perks and benefits of the customer's current tier

["Free shipping", "2x points"]

cwloy_referral_url

text

[[contact.custom_properties.cwloy_referral_url]]

Customer's unique referral link

cwloy_last_earn_date

date

[[contact.custom_properties.cwloy_last_earn_date]]

The date the customer last earned points

2025-07-02

cwloy_last_redeem_date

date

[[contact.custom_properties.cwloy_last_redeem_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

  1. Turning an event off stops new sends but keeps past data. Events already received stay in Omnisend; workflows using that trigger simply stop firing.

  2. 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.

Did this answer your question?