Omnisend Integration: Events and Custom Properties Reference

The Omnisend integration keeps your contact records in sync with loyalty data through custom properties (always-on profile data) and custom events (fired when specific actions happen). Both can be used in Omnisend automation workflows to send targeted, personalised emails based on loyalty activity.

Custom Properties

Custom properties are stored on the Omnisend contact record and updated automatically when the corresponding data changes. Omnisend creates custom properties automatically the first time a value is sent, so no manual setup is required.

PropertyTypeWhen UpdatedDescription
loyaltyPointsBalanceIntegerEvery points transactionThe customer’s current points balance.
loyaltyPointsLastUpdatedISO 8601 datetimeEvery points transactionTimestamp of the most recent points change.
loyaltyBirthdayDate (YYYY-MM-DD)When customer saves their birthdayThe customer’s birthday. Use as the trigger date for an Omnisend date-based automation.

Custom Events

Custom events are sent to the Omnisend Events API and can be used as triggers in automation workflows.

Points Updated

Fired on every points transaction: earning, spending, expiring, and manual adjustments.

FieldTypeDescription
deltaIntegerPoints change. Positive for earned, negative for spent or expired.
balance_afterIntegerPoints balance after the transaction.
reason_titleStringHuman-readable reason for the change. See the full list below.
sourceStringMachine-readable source type.
awarded_atISO 8601 datetimeTimestamp of the transaction.

All possible reason_title values:

reason_titleWhen it fires
Order purchaseCustomer earns points for placing an order.
Order discountCustomer redeems points for a discount on an order.
Order cancelledPoints are reversed when an order is cancelled.
Order refundedPoints are reversed when an order is refunded.
Product reviewCustomer earns points for leaving a product review.
Friend referralCustomer earns points for referring a friend.
Manual adjustmentAn admin manually adds or removes points.
Registration bonusCustomer earns points for creating an account.
Birthday bonusPoints awarded on the customer’s birthday.
Imported pointsPoints added via CSV import.
Points expiredPoints removed due to inactivity expiry.

Rank Achieved

Fired when a customer reaches a new rank tier.

FieldTypeDescription
rank_idIntegerID of the new rank.
rank_nameStringDisplay name of the new rank.
rank_milestoneIntegerPoints threshold for the new rank.
previous_rank_nameStringName of the previous rank. Not present on first rank.
achieved_atISO 8601 datetimeTimestamp when the rank was achieved.
coupon_codeStringThe coupon code issued as a rank reward. Only present when a coupon is configured for this rank.
coupon_codesArrayAll coupon codes issued when the rank has multiple rewards configured. Only present when more than one coupon is issued.

Using Events in Omnisend Automations

In Omnisend, go to Automation and create a new workflow. Choose Custom event as the trigger and enter the event name (Points Updated or Rank Achieved). You can add conditional splits based on event fields to route customers into different branches. For example, filter on reason_title = Order purchase to send a points earned notification after every purchase, or reason_title = Points expired to send a re-engagement campaign when points expire.

For birthday emails, use a date-based trigger on the loyaltyBirthday custom property instead of relying on the event stream. This ensures the email fires annually on the stored birthday date.

Browse our plugins

Lightweight WooCommerce plugins built for speed. No bloat, no frameworks -- just clean code that works.

View all plugins
Stay in the loop

Get notified when we launch new plugins. No spam, just product updates.