Skip to main content
Fired when a customer earns points. This covers all sources: order-based earning rules, custom earning rules, manual adjustments, and referral bonuses.

Payload fields

FieldTypeDescription
shopify_customer_idstringThe customer’s Shopify customer ID
emailstring | nullThe customer’s email address
points_earnedintegerNumber of points earned in this event
points_balanceintegerThe customer’s total available points after this event
lifetime_pointsintegerThe customer’s all-time total earned points
sourcestringHow the points were earned (e.g. earning_rule, manual, referral)
earning_rule_namestring | nullName of the earning rule, if applicable
order_numberstring | nullShopify order number, if the points were earned from a purchase

Example payload

{
  "event": "points.earned",
  "shop": "my-store",
  "timestamp": "2026-02-18T12:00:00.000Z",
  "data": {
    "shopify_customer_id": "6789012345",
    "email": "jane@example.com",
    "points_earned": 150,
    "points_balance": 700,
    "lifetime_points": 1200,
    "source": "earning_rule",
    "earning_rule_name": "Purchase reward",
    "order_number": "1042"
  }
}

Common use cases

  • Sync points to an external CRM or data warehouse
  • Trigger a personalised email or SMS when a customer hits a milestone (e.g. 1000 lifetime points)
  • Display a real-time notification on your storefront
  • Update a customer profile in Klaviyo, HubSpot, or another marketing platform