Skip to main content

Postscript Customer Properties & Events

Written by Kris James

Events

Postscript is an SMS platform. These events only trigger automations for customers who are SMS subscribers, matched by their Shopify Customer ID. If a customer has not opted in to SMS, the event still fires but no message is sent.

Points Awarded

Fired when a customer earns points through purchases, actions, or other earning rules.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Points-Awarded

number

Number of points earned

Earning-Rule

string

Name of the earning rule (or "Manual")

Status

string

Status of the earning (e.g. approved)

Order-Number

string (optional)

Shopify order number, if points were earned from a purchase


A note on property keys. Every event property key uses hyphens instead of spaces (for example Reward-Name), because Postscript SMS merge tags cannot reference keys that contain spaces. Reference any property in a template with its key, such as {{ Reward-Name }}.

Points Pending

Fired when points are recorded in a pending state. The points are awarded later, once the refund or approval window has passed.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Points-Awarded

number

Points that will be awarded once approved

Earning-Rule

string

Name of the earning rule (or "Manual")

Status

string

Status of the earning (PENDING)

Order-Number

string (optional)

Shopify order number, if points were earned from a purchase

Points Pending mirrors Points Awarded and uses the same keys, referenced with merge tags such as {{ Points-Awarded }}.


Bonus Points Awarded

Fired when a customer earns flat bonus points from a tiered bonus campaign. This is a separate award from the standard points earned on the order.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Bonus-Points

number

Number of bonus points awarded

Campaign-Name

string

Name of the bonus campaign

Qualifying-Spend

number

Amount the customer spent that qualified for the bonus

Spend-Threshold

number

Spend threshold the customer reached to earn the bonus

Status

string

Status of the earning (e.g. approved)

Order-Number

string (optional)

Shopify order number

Reference a property in an SMS template with its key, for example {{ Bonus-Points }}.


Reward Redeemed

Fired when a customer redeems their points for a reward or discount.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Reward-Name

string

Name of the reward redeemed

Points-Spent

number

Number of points spent (0 if null)

Discount-Type

string

Type of discount (e.g. percentage, fixed)


VIP Tier Changed

Fired when a customer moves up or down VIP tiers based on their lifetime points.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

New-Tier-Name

string

Name of the tier the customer moved to

Previous-Tier-Name

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 > Postscript before it will fire.

Subscriber: The advocate, matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Recipient-Email

string

Email address the invite was sent to

Campaign-Name

string

Name of the referral campaign

Advocate-Name

string

Name of the advocate who sent the invite

Referral-URL

string

The advocate's shareable referral link

Shop-Name

string

Store name

Shop-Domain

string

Store domain

Channel

string

Always email

The email subject and personal message are intentionally omitted, because long free text is not useful as an SMS merge tag. Reference a property with its key, for example {{ Referral-URL }}.


Referral Claimed

Fired when a friend claims their referral discount code.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: The friend, matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Discount-Code

string

Discount code issued to the friend

Discount-Type

string

Type of discount (e.g. percentage, fixed)

Discount-Amount

number

Discount value (0 if not set)

Campaign-Name

string

Name of the referral campaign

Reward-Name

string

Name of the reward

Advocate-Email

string (optional)

Advocate's email, if known

Advocate-Name

string (optional)

Advocate's name, if known

Shop-Name

string

Store name

Shop-Domain

string

Store domain

Reference a property with its key, for example {{ Discount-Code }}.


Referral Reward Earned

Fired when an advocate earns their reward after their friend completes a qualifying purchase.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: The advocate, matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Friend-Email

string

Email of the friend whose purchase triggered the reward

Discount-Code

string

Reward code issued to the advocate

Discount-Type

string

Type of discount (e.g. percentage, fixed)

Discount-Amount

number

Discount value (0 if not set)

Reward-Name

string

Name of the reward

Campaign-Name

string

Name of the referral campaign

Shop-Name

string

Store name

Shop-Domain

string

Store domain

Reference a property with its key, for example {{ Discount-Code }}.


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 > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Points-Expiring

number

Total points expiring within the next 7 days (aggregated across all earning rules)

Current-Points

number

Customer's current point balance at the time the event fires

Days-Until-Expiry

number

Days until the earliest expiring points (e.g. 3 means points expire in 3 days)

Customer-Name

string

Customer's first name (or "there" if not set)

Suggested automation setup

  1. In Postscript, go to Automations > Create Automation

  2. Set the trigger to the Points_Expiry_Soon event

  3. Add a Send SMS action with your expiry reminder message

  4. Use the event properties above to personalize the message

Example SMS

Hey {{ Customer-Name }}, you have {{ Points-Expiring }} points expiring in {{ Days-Until-Expiry }} days! Shop now to use them before they're gone.


Gift Reminder

Fired by the daily gift reminders cron for each upcoming occasion a customer has saved.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Recipient-Name

string

Name of the gift recipient

Relationship

string

Relationship to the recipient (e.g. Partner, Friend)

Occasion-Type

string

Type of occasion (e.g. Birthday, Anniversary)

Occasion-Date

string

Occasion date in MM/DD format (a single field, no separate month or day)

Days-Until-Occasion

number

Days remaining until the occasion

Reminder-Number

number

Which reminder in the sequence this is (e.g. 1, 2)

Customer-Name

string

Customer's first name

Shop-Domain

string

Store domain

Discount-Code

string (optional)

Discount code created for this reminder, if any

Reference a property with its key, for example {{ Recipient-Name }}.


Birthday

Fired by the daily birthday cron when a customer earns their birthday points.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Customer-Name

string

Customer's first name

Shop-Name

string

Store name

Points-Earned

number

Birthday points awarded

Current-Points

number

Customer's point balance after the award

Reference a property with its key, for example {{ Points-Earned }}.


Cashback Credited

Store-credit cashback awarded.

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Cashback-Amount

number

Cashback value in the store's currency

Cashback-Amount-Formatted

string

Formatted cashback amount (e.g. $17.50)

Currency

string

ISO currency code (e.g. USD)

Offer-Name

string

Name of the cashback offer

Order-Number

string

Shopify order number

Reward-Method

string

Always shopify_store_credit

Expires-At

string (optional)

ISO timestamp when the cashback expires, if set

Reference a property with its key, for example {{ Cashback-Amount-Formatted }}.


Cashback Code Issued

Cashback issued as a single-use discount code, including a reissue after a partial refund (a new code with a reduced amount).

This event is OFF by default. Merchants must enable it in Settings > Integrations > Postscript before it will fire.

Subscriber: Matched by Shopify Customer ID (fallback: email)

Property

Type

Description

Cashback-Amount

number

Cashback value in the store's currency

Cashback-Amount-Formatted

string

Formatted cashback amount (e.g. $17.50)

Currency

string

ISO currency code (e.g. USD)

Offer-Name

string

Name of the cashback offer

Order-Number

string

Shopify order number

Reward-Method

string

Always discount_code

Discount-Code

string

Single-use cashback discount code

Expires-At

string (optional)

ISO timestamp when the cashback expires, if set

Reference a property with its key, for example {{ Discount-Code }}.


Subscriber Properties

In addition to events, Mage syncs the following properties to each Postscript subscriber. These can be used in segments and SMS personalization.

Property

Example Value

Description

Mage Loyalty Points Balance

100

Customer's current spendable points

Mage Loyalty Lifetime Points

500

Total points ever earned

Mage Loyalty Redeemed Points

400

Total points spent on rewards

Mage Loyalty VIP Tier Name

Gold

Current VIP tier (e.g. Bronze, Silver, Gold)

Mage Loyalty Date of Birth

September 17, 1990

Customer's date of birth, if provided

Mage Loyalty Enrolled Date

January 1, 2025

When the customer joined the loyalty program

Mage Loyalty Points as Cash Balance

$17.50

Cash value of the current points balance, based on your flexible reward's conversion rate. Only synced when an active flexible reward exists.

Did this answer your question?