Events
Each event can be toggled on/off per-shop in Settings > Integrations > Omnisend.
Points Awarded
Fired when a customer earns points through purchases, actions, or other earning rules.
Contact: Customer's email
Property | Type | Description |
| number | Number of points earned |
| string | Name of the earning rule (or "Manual") |
| string | Status of the earning (e.g. |
| string (optional) | Shopify order number, if points were earned from a purchase |
Points Pending
Fired when a customer earns points that are not yet in their balance because the earning rule has a waiting period (e.g. purchase points held until the refund window closes). When the approval cron later awards these points, a separate Points Awarded event will fire.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Number of points that will be awarded once approved |
| string | Name of the earning rule (or "Manual") |
| string | Always |
| string (optional) | Shopify order number, if points were earned from a purchase |
Bonus Points Awarded
Flat bonus points from a tiered bonus campaign.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Number of bonus points awarded |
| string | Name of the bonus campaign |
| number | The order amount that qualified for the bonus |
| number | The spend threshold that was met |
| string |
|
| string (optional) | Shopify order number, if the bonus came from a purchase |
Reward Redeemed
Fired when a customer redeems their points for a reward or discount.
Contact: Customer's email
Property | Type | Description |
| string | Name of the reward redeemed |
| number | Number of points spent (0 if null) |
| string | Type of discount (e.g. |
VIP Tier Changed
Fired when a customer moves up or down VIP tiers based on their lifetime points.
Contact: Customer's email
Property | Type | Description |
| string | Name of the tier the customer moved to |
| string (optional) | Name of the previous tier, if applicable |
Referral Invite Sent
Fired when an advocate sends a referral email invite to a friend.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Advocate's email
Property | Type | Description |
| string | Email address of the invited friend |
| string | Name of the referral campaign |
| string | Name of the advocate (or "A friend" if not provided) |
| string | Email subject line used for the invite |
| string | Custom message written by the advocate |
| string | The referral link sent to the friend |
| string | Name of the Shopify store |
| string | Domain of the Shopify store |
| string | Always |
Referral Claimed
Fired when a friend claims their referral discount code.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Friend's email
Property | Type | Description |
| string | The discount code generated for the friend |
| string | Type of discount ( |
| number | Discount value (0 if null) |
| string | Name of the referral campaign |
| string | The merchant-defined reward name as set in the campaign reward settings |
| string (optional) | Email of the advocate who referred the friend, if known |
| string (optional) | Name of the advocate, if known |
| string | Name of the Shopify store |
| string | Domain of the Shopify store |
Referral Reward Earned
Fired when an advocate earns their reward after their referred friend completes a purchase.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Advocate's email
Property | Type | Description |
| string | Email of the friend whose purchase triggered the reward |
| string | The advocate's reward discount code |
| string | Type of discount ( |
| number | Discount value (0 if null) |
| string | The merchant-defined reward name as set in the campaign reward settings |
| string | Name of the referral campaign |
| string | Name of the Shopify store |
| string | Domain of the Shopify store |
Points Expiry Soon
Fired when a customer has loyalty points expiring within the next 7 days. This event is triggered once per customer per 7-day window — multiple earning rules expiring on different days are aggregated into a single event to prevent duplicate notifications.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Total points expiring within the next 7 days (aggregated across all earning rules) |
| number | Customer's current point balance at the time the event fires |
| number | Days until the earliest expiring points (e.g. |
| string | Customer's first name (or "there" if not set) |
Suggested automation setup
In Omnisend, go to Automation > New Workflow
Set the trigger to Custom Event > Points Expiry Soon
Add an Email or SMS action with your expiry reminder template
Use the event properties above as dynamic variables in your template:
{{Points Expiring}}— the number of points about to expire{{Current Points}}— the customer's total balance{{Days Until Expiry}}— urgency indicator for the subject line or body{{Customer Name}}— personalization
Example subject line
{{ Customer Name }}, your {{ Points Expiring }} points expire in {{ Days Until Expiry }} days!
Gift Reminder
Each reminder includes a unique discount code, created on the first reminder and reused on follow-ups.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| string | Name of the gift recipient (e.g. "Mom") |
| string | How they're related (e.g. "Mother", "Friend") |
| string |
|
| string | Date in MM/DD format (e.g. "03/15") |
| number | Month as a number (1-12) |
| number | Day as a number (1-31) |
| number | How many days until the occasion (matches the reminder interval) |
| number | Which reminder this is (1, 2, or 3) based on the configured order |
| string | Unique discount code for this recipient |
| string | Customer's first name (or "there" if not set) |
| string | The store's public domain |
Birthday
Fired when a customer earns birthday points. Includes the points earned and updated balance so merchants can build birthday automations with reward information.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| string | Customer's first name (or "Valued Customer" if not set) |
| string | Name of the Shopify store |
| number | Number of birthday points awarded today |
| number | Customer's updated total point balance after the award |
Wishlist Reminder
A reminder to a customer about items still on their wishlist. Omnisend supports arrays and nested objects, so you can reference the full Items list in your automation.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire. Wishlist alert provider on the shop must also be set to Omnisend.
Contact: Customer's email
Property | Type | Description |
| string | Customer's first name (or "there" if not set) |
| string | Name of the Shopify store |
| string | The store's public domain |
| number | Number of items in this reminder |
| array | Array of item objects (shape below) |
Items element shape
Field | Type | Description |
| string | Shopify product ID |
| string | null | Display name of the product |
| number | null | Current price |
| number | null | Current stock quantity |
| string | null | Product brand |
| string | null | Product category |
| string | null | Shopify variant ID |
| string | null | Variant title (e.g. "Oat / Medium") |
| string | null | Variant SKU |
| string | null | Public product URL |
| string | null | Product image URL |
| string[] | Product tags as an array |
| string | Product tags as a comma-separated string |
| string | ISO timestamp when the item was added to the wishlist |
Wishlist Back in Stock
Same shape as Wishlist Reminder. Omnisend supports arrays and nested objects, so you can reference the full Items list in your automation.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire. Wishlist alert provider on the shop must also be set to Omnisend.
Contact: Customer's email
Property | Type | Description |
| string | Customer's first name (or "there" if not set) |
| string | Name of the Shopify store |
| string | The store's public domain |
| number | Number of items now back in stock |
| array | Array of item objects (same shape as Wishlist Reminder) |
Wishlist Price Drop
Fired when items on a customer's wishlist drop in price. Omnisend supports arrays and nested objects, so you can reference the full Items list in your automation.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire. Wishlist alert provider on the shop must also be set to Omnisend.
Contact: Customer's email
Property | Type | Description |
| string | Customer's first name (or "there" if not set) |
| string | Name of the Shopify store |
| string | The store's public domain |
| number | Number of items in this event (the items shown in this notification) |
| number | Total wishlisted items currently on sale (broader count for CTA copy) |
| number | Total Items On Sale minus Items Count. The "X others" number for subject copy |
| array | Array of item objects (shape below) |
Items element shape
Same fields as the Wishlist Reminder items, plus four price-drop-specific fields:
Field | Type | Description |
| number | Price before the drop |
| number | Price after the drop |
| number | Percentage drop (e.g. |
| number | null | Shopify compareAtPrice, if set |
Mage Welcome
Fired once when a new customer first joins the loyalty program.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Customer's current point balance |
Cashback Credited
Store-credit cashback awarded.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Cashback value awarded |
| string | Cashback value formatted for display (e.g. "$5.50") |
| string | Currency code for the cashback amount |
| string | Name of the cashback offer |
| string | Shopify order number the cashback relates to |
| string | Always |
| string (optional) | ISO timestamp when the cashback expires, if applicable |
Cashback Code Issued
Cashback issued as a single-use discount code (incl. reissue after a partial refund).
This event is OFF by default. Merchants must enable it in Settings > Integrations > Omnisend before it will fire.
Contact: Customer's email
Property | Type | Description |
| number | Cashback value issued |
| string | Cashback value formatted for display (e.g. "$5.50") |
| string | Currency code for the cashback amount |
| string | Name of the cashback offer |
| string | Shopify order number the cashback relates to |
| string | Always |
| string | The single-use cashback discount code |
| string (optional) | ISO timestamp when the cashback expires, if applicable |
Contact Properties
In addition to events, Mage syncs the following properties to each Omnisend contact. These can be used in segments, conditional splits, and personalization across any workflow or campaign.
Property | Example Value | Description |
|
| Customer's current spendable points |
|
| Total points ever earned |
|
| Total points spent on rewards |
|
| Current VIP tier (e.g. Bronze, Silver, Gold) |
|
| Customer's date of birth, if provided |
|
| When the customer joined the loyalty program |
|
| Cash value of the current points balance, based on your flexible reward's conversion rate. Only synced when an active flexible reward exists. |
