Skip to main content

Send loyalty notifications via Omnisend

If you're using Omnisend for email and SMS marketing, you can use Shopify Flow to sync loyalty data from Alpha Loyalty to Omnisend.

What you can do

Once you set up our Flow workflows, Alpha Loyalty starts sending events to Omnisend, which you can use to:

  • Trigger automations when customers earn points, reach a new VIP tier, or have points expiring

  • Build segments based on loyalty status — target high-balance customers or specific VIP tiers

  • Personalize any campaign with loyalty data — add points balance and VIP tier to abandoned cart, post-purchase, and promotional emails

Available templates

Template

Trigger

Best for

Send earned points to Omnisend

Customer earns points

Post-purchase thank you, welcome bonus email

Send VIP tier achievement to Omnisend

Customer reaches a new VIP tier

Tier-up congratulations, new perks announcement

Send points expiration reminders to Omnisend

Points approaching expiration

Urgency reminders, win-back campaigns


Step 1: Get an Omnisend API key

If you haven't yet, install the Omnisend Email Marketing & SMS app from the Shopify App Store and connect it.

In Omnisend, go to Store settings → Integrations & API → API keys and create a new API key with Events and Contacts permissions.


Step 2: Register the custom events in Omnisend

This is a one-time setup.

Each loyalty template sends a specific custom event to Omnisend, and you need to register those events running a curl command on your computer's terminal.

To do this, open your terminal (on Mac: Terminal app / on Windows: Command Prompt) and run the commands below, one by one. Replace PASTE-API-KEY with your API key.

1. Register the "Points earned" event:

curl --request POST --url https://api.omnisend.com/v3/events --header "X-API-KEY: PASTE-API-KEY" --header "content-type: application/json" --data "{\"name\": \"Points earned\", \"systemName\": \"points_earned\", \"email\": \"[email protected]\", \"phone\": \"+420111111111\", \"fields\": {\"loyalty_program_name\": \"Program 1\", \"earn_way\": \"Sign up\", \"points_earned\": 1, \"current_points_balance\": 5}}"

2. Register the "VIP tier achieved" event:

curl --request POST --url https://api.omnisend.com/v3/events --header "X-API-KEY: PASTE-API-KEY" --header "content-type: application/json" --data "{\"name\": \"VIP tier achieved\", \"systemName\": \"vip_tier_achieved\", \"email\": \"[email protected]\", \"phone\": \"+420111111111\", \"fields\": {\"loyalty_program_name\": \"Program 1\", \"vip_tier_achieved\": \"Silver\"}}"

3. Register the "Points expiration sync" event:

curl --request POST --url https://api.omnisend.com/v3/events --header "X-API-KEY: PASTE-API-KEY" --header "content-type: application/json" --data "{\"name\": \"Points expiration sync\", \"systemName\": \"points_expiration_sync\", \"email\": \"[email protected]\", \"phone\": \"+420111111111\", \"fields\": {\"days_left\": 1, \"points_expiration_date\": \"2026-05-25\", \"points_expiration_date_long\": \"May 25, 2026\", \"points_expiration_date_short\": \"05/25/2026\", \"points_expiration_date_eu\": \"25.05.2026\", \"current_points_balance\": 5}}"

After each command runs, go to Omnisend → Store settings → Integrations & API → Custom events. You should see the three events listed.


Step 3: Install the Flow template

1. Go to Shopify Flow → Browse templates

2. Search for Alpha Loyalty workflows

3. Choose the template you need and click Install


Step 4: Paste the Event ID

Each event you've registered in Step 2 has a unique Event ID.

Open each of the imported workflows, click the Track an event step, and paste the Event ID from Omnisend into the Event ID field.

Then turn the workflow on.

Next time a customer triggers this event (e.g., earns points), the event will be sent to Omnisend and the customer's profile will be updated.


Building an Omnisend automation

Once events start flowing in, you can trigger automations on them:

  1. In Omnisend, go to Automations → Create workflow → Custom event.

  2. Pick the event (e.g., Points earned)

  3. Add an Email or SMS step and use variables to personalize.

Points earned

Type

Variable

Description

Custom property

[[contact.custom_properties.points_balance]]

Current points balance

Event field

[[event.points_earned]]

Points just earned

Event field

[[event.current_points_balance]]

Current points balance

Event field

[[event.earn_way]]

How points were earned (e.g., "Order placed")

Event field

[[event.loyalty_program_name]]

Program name

VIP tier achieved

Type

Variable

Description

Custom property

[[contact.custom_properties.vip_tier]]

Customer's current VIP tier

Event field

[[event.vip_tier_achieved]]

Tier just achieved

Event field

[[event.loyalty_program_name]]

Program name

This flow also adds a customer tag with the name of the tier achieved. Note that the previous tags are not removed after the next tier is reached, so customers end up having tags for all the tiers they have passed through.

Points expiration sync

Type

Variable

Description

Custom property

[[contact.custom_properties.points_balance]]

Current points balance

Event field

[[event.days_left]]

Days until expiration

Event field

[[event.points_expiration_date]]

Expiration date

Event field

[[event.points_expiration_date_long]]

Long date format to display in emails ("May 25, 2026")

Event field

[[event.points_expiration_date_short]]

US short date format to display in emails ("05/25/2026")

Event field

[[event.points_expiration_date_eu]]

EU date format to display in emails ("25.05.2026")

The workflow provides four versions of the expiration date, so you can pick the format that fits your email best.

The points_expiration_date field is a date value — use it for time-based conditions and filters in Omnisend.

The other three (_long, _short, _eu) are pre-formatted strings designed to display nicely in your email content.

Example

Let's assume you're trying to set up a points expiration reminder 14 days before the customer's points are about to expire.

To do that, you might want to:

  1. Choose Points expiration sync as the automation trigger.

  2. Use a trigger filter, which lets you fire up an email sequence when days_left is equal to 14.

3. Design your email, using the following variables in the email body to add extra context:

[[event.current_points_balance]]

[[event.points_expiration_date_long]]

The email you're setting up might look something like this:

Flow ideas

Points earned flow:

  • Thank customers for their purchase

  • Show how many points they earned and their new balance

  • Suggest rewards they can now redeem

VIP tier achieved flow:

  • Congratulate on reaching the new tier

  • List all new benefits and perks

  • Include a special offer to celebrate (optional)

Points expiration flow:

  • Send first reminder at 14 days before expiration

  • Send urgent reminder at 3 days before

  • Create urgency: "Your X points expire in Y days"

Add loyalty data to all your emails

Don't limit loyalty info to dedicated flows. Add points balance and VIP tier to your abandoned cart emails, post-purchase flows, and campaigns. This keeps customers engaged with your program and reminds them to use their rewards.

You can create a universal loyalty block in Omnisend and reuse it across all templates.

Need help? Reach out at [email protected]

Did this answer your question?