Information sent to Klaviyo

With the Klaviyo integration, Ordergroove can send customer and event data for you to use in your marketing campaigns. The following is a list of all of the events and customer properties sent over for your Klaviyo segments and flows.

Note: We recommend starting with the Klaviyo Recipebook article. It has a list of common flows, and how to make them. Then return to this article to pick and choose from the fields listed below to include in your messages.

Events are grouped into three categories: Subscriber (customer-level activity), Subscription (changes to a single subscription), and Order (changes to an upcoming or placed order). Within each category, all events share a common base payload, with a few events adding extra fields. The base payload for each category is defined once below, and each event lists only its event name, when it fires, recommended uses, filterable properties, and any additional fields beyond the base.


Subscriber Events

Ordergroove sends events about subscriber activities. All Subscriber events share the same base payload (with one minor variation noted below).

Base payload — Subscriber events

All Subscriber events are synced in real-time and include the following data:

first_name
last_name
email
phone_number
has_prepaid
total_subscriptions_count
subscriptions_subset: [
  {
  frequency_days
  frequency_description
  id
  quantity
  prepaid_orders_per_billing
  prepaid_renewal_behavior
  product: {
    id
    name
    sku
    image_url
    detail_url
    }
  }
...
]

Common filterable properties: first_name, last_name, email, phone_number, has_prepaid, total_subscriptions_count

Subscriber Created

Event Name: ordergroove.subscriber.create

The Subscriber Create event is sent when a customer creates a subscription for the first time only.

You should use this event to start a drip campaign that reinforces the benefits of your subscription program to get them to the first subscription order.

Payload: Subscriber base payload (no additions).

Customer profile update: Sets Ordergroove Subscriber Status to active.

Subscriber Canceled

Event Name: ordergroove.subscriber.cancel

The Subscriber Cancel event is sent whenever a customer cancels all of their existing subscriptions.

You should use this as a way to identify customers who have fully churned from your brand.

Payload: Subscriber base payload (no additions).

Customer profile update: Sets Ordergroove Subscriber Status to inactive.

Subscriptions Created

Event Name: ordergroove.subscriber.subscriptions_created

The Subscriptions Created event is sent whenever a customer checks out with one or more subscriptions.

You should use this event to communicate that new subscriptions have been created.

Payload: Subscriber base payload, except total_subscriptions_count is not included.

Customer profile update: Sets Ordergroove Subscriber Status to active.

 


Subscription Events

We send events about subscription activities. All Subscription events share the same base payload, with Subscription Canceled adding a few extra fields.

Base payload — Subscription events

All Subscription events are synced in real-time and include the following data:

frequency_days
frequency_description
id
product {
  detail_url
  id
  name
  sku
  image_url
}
product_id
product_name
product_sku
quantity
has_prepaid
prepaid_orders_per_billing
prepaid_renewal_behavior
prepaid_orders_remaining
currency_code
entitlement_summaries
meta_entitlement_expires_at
has_grace_entitlement
has_active_entitlement

Entitlement fields:

  • entitlement_summaries — Summaries of all entitlements associated with the subscription. Example:

    {
      'live': True,
      'merchant': '393dc304f69411e99435bc764e10b970',
      'identified_product': '701644259235M',
      'resource_name': 'Ad Free Music Streaming',
      'expires_at': '2027-07-28T18:48:37.783Z',
      'access_type': 'time_based',
      'grace_expires_at': None,
      'merchant_user_id': '123356',
      'resource_public_id': '49d79c3cbcc54f0983ea95c04b68fc28'
    }
  • meta_entitlement_expires_at — When the entitlement representing the digital purchase as a whole expires. Example: July 28, 2027 at 02:48 PM
  • has_grace_entitlement — Whether any entitlements are currently in their grace period (expired but still allowing access per merchant settings). Example: false
  • has_active_entitlement — Whether any entitlements are currently active for the subscription. Example: true

Common filterable properties: frequency_days, frequency_description, id, product_id, product_name, product_sku, quantity, has_prepaid, prepaid_orders_per_billing, prepaid_renewal_behavior, prepaid_orders_remaining, currency_code

Subscription Created

Event Name: ordergroove.subscription.create

The Subscription Created event is sent whenever a customer creates a subscription.

You should use this event to gain a better understanding of your customer's journey and what subscriptions they chose to add. This event can be used to segment specific people who subscribed to and/or canceled specific products.

Payload: Subscription base payload (no additions).

Customer profile update: Sets Ordergroove Subscriber Status to active.

Subscription Reactivated

Event Name: ordergroove.subscription.reactivate

The Subscription Reactivated event is sent whenever a customer reactivates a cancelled subscription.

You should use this event to gain a better understanding of your customer's journey and what subscriptions they reactivate. This event can be used to segment specific people who resubscribe to particular items.

Payload: Subscription base payload (no additions).

Customer profile update: Sets Ordergroove Subscriber Status to active.

Subscription Canceled

Event Name: ordergroove.subscription.cancel

The Subscription Canceled event is sent whenever a customer cancels a subscription.

You should use this event to start a re-engagement and win-back journey.

Payload: Subscription base payload, plus the following additional fields:

cancel_reason
cancel_reason_code
cancel_reason_message

Additional filterable property: cancel_reason

Subscription Frequency Changed

Event Name: ordergroove.subscription.change_frequency

The Subscription Frequency Changed event is sent whenever a subscription's frequency is adjusted (by either customers or support agents).

You should use this to track trends in user behavior.

Payload: Subscription base payload (no additions).

Subscription Payment Changed

Event Name: ordergroove.subscription.change_payment

The Subscription Payment Changed event is sent whenever a subscription's default payment method is adjusted (by either customers or support agents).

You should use this to track trends in user behavior. It can also be used as a way to exclude users from drip campaigns asking users to update their credit cards.

Payload: Subscription base payload (no additions).

Subscription Quantity Changed

Event Name: ordergroove.subscription.change_quantity

The Subscription Quantity Changed event is sent whenever a subscription's quantity is adjusted (by either customers or support agents).

You should use this to track trends in user behavior.

Payload: Subscription base payload (no additions).

Subscription Shipping Address Changed

Event Name: ordergroove.subscription.change_shipping_address

The Subscription Address Changed event is sent whenever a subscription's address is adjusted (by either customers or support agents).

You should use this to track trends in user behavior.

Payload: Subscription base payload (no additions).

Subscription SKU Swapped

Event Name: ordergroove.subscription.sku_swap

The Subscription SKU Changed event is sent whenever a subscription's product is changed (by either customers or Ordergroove's discontinue wizard).

You should use this to track trends in user behavior. There may be an opportunity to see if people who switch SKUs are more or less loyal.

Payload: Subscription base payload (no additions).

 


Order Events

We send events about order activities. Most Order events share the same base payload below, with Order Rejected adding two extra fields. Item Out of Stock is the exception — it is item-level rather than order-level, so it has its own payload and is documented separately at the end of this section.

Base payload — Order events

All Order events (except Item Out of Stock) are synced in real-time and include the following data:

days_until_place_date
tries
discount_total
shipping_total
sub_total
total
has_prepaid
currency_code
total_items_count
items_subset {
  product {
    detail_url
    id
    image_url
    name
    price
    sku
  }
  subscription {
    frequency_days
    frequency_description
    id
  }
  price
  quantity
  total_price
}
payment {
  cc_number_ending
  cc_exp_date
  cc_type_description
}
place_date
shipping_address {
  address
  address2
  city
  state_province_code
  zip_postal_code
  country_code
}
entitlement_summaries
meta_entitlement_expires_at
has_grace_entitlement
has_active_entitlement

Entitlement fields:

  • entitlement_summaries — Summaries of all entitlements associated with the order. Example:

    {
      'live': True,
      'merchant': '393dc304f69411e99435bc764e10b970',
      'identified_product': '701644259235M',
      'resource_name': 'Ad Free Music Streaming',
      'expires_at': '2027-07-28T18:48:37.783Z',
      'access_type': 'time_based',
      'grace_expires_at': None,
      'merchant_user_id': '123356',
      'resource_public_id': '49d79c3cbcc54f0983ea95c04b68fc28'
    }
  • meta_entitlement_expires_at — When the entitlement representing the digital purchase as a whole expires. Example: July 28, 2027 at 02:48 PM
  • has_grace_entitlement — Whether any entitlements are currently in their grace period (expired but still allowing access per merchant settings). Example: false
  • has_active_entitlement — Whether any entitlements are currently active for the order. Example: true

Common filterable properties: days_until_place_date, discount_total, shipping_total, sub_total, total, has_prepaid, currency_code, total_items_count, place_date

Order Reminder

Event Name: ordergroove.order.reminder

The Order Reminder event is sent a predefined number of days before an order is placed (the default is five days prior).

You should use this to notify users of an upcoming order with a call to action to make any changes before it is placed.

Payload: Order base payload (no additions).

Credit Card Expiration Warning

Event Name: ordergroove.order.credit_card_expiration_warning

On the 1st and 15th of every month we check our subscriptions credit cards on file.

On those days, if there is an upcoming order and the card associated with it is set to expire, we fire off this event that can be used to notify customers their card will expire before their next order is placed.

Note: This email will only be sent if the CC expiration date is passed to Ordergroove, and CC recycling is not activated.

Payload: Order base payload (no additions).

Order Canceled

Event Name: ordergroove.order.cancel

The Order Canceled event is sent when an order is canceled (either by a support agent or customer).

You should use this to notify users an upcoming order has been canceled.

Payload: Order base payload (no additions).

Order Success

Event Name: ordergroove.order.success

The Order Success event is sent when an order is placed successfully.

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Date Changed

Event Name: ordergroove.order.change_next_order_date

The Order Date Changed event is sent when an order date is changed successfully.

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Payment Changed

Event Name: ordergroove.order.change_payment

The Order Payment Changed event is sent when an order's payment method is changed (by either a support agent or the customer).

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Address Changed

Event Name: ordergroove.order.change_shipping_address

The Order Address Changed event is sent when an order's shipping address is changed (by either a support agent or the customer).

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Sent Now

Event Name: ordergroove.order.send_now

The Order Sent Now event is sent when an order's place date is changed to as soon as possible (by either a support agent or the customer).

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Skipped

Event Name: ordergroove.order.skip_order

The Order Skipped event is sent when an order has been skipped (by either a support agent or the customer).

You should use this to track user behavior.

Payload: Order base payload (no additions).

Order Rejected

Event Name: ordergroove.order.reject

The Order Rejected event is sent when an order fails to be placed and is moved into the Rejected status. We include a reject reason and reject code to help tailor custom messaging around why we couldn't place an order.

You should use this message to tell customers that their order failed and to take steps to fix it.

**This event does not fire on order retry attempts. This event will only be sent once all retries are exhausted and the order is placed into a rejected status.

Here's a link to the error response codes we send.

Payload: Order base payload, plus the following additional fields:

rejected_code
rejected_message

Additional filterable properties: tries

Order Retry-able Failure

Event Name: order.retryable_placement_failure

The Order Retry-able Failure event is sent when we try to place an order and it fails, and it has an error that can be retried and will be processed through the retry flow. This event can be triggered more than once for an order and will only occur if your program is configured to use this feature.

This event is different from the Order Rejected event, which is sent when an order fails and can no longer be retried.

Read more about automated retries and Recovery Optimizer.

Payload: Order base payload. Shopify merchants also receive these additional fields:

rejected_code
rejected_message

Additional filterable property: tries

Item Out of Stock

Event Name: ordergroove.item.out_of_stock

The Out of Stock event is sent when an item on an order is found to be out of stock. When an item is out of stock, we try the order daily until we can place it (maximum of 30 days).

You should use this to inform your customers of item delays, ideally choosing specific days by choosing specific intervals with the days_since_first_attempt variable. Ordergroove recommends Day 1, 15, and 30.

Note: Unlike other Order events, this event is item-level and uses its own payload (shown below).

Filterable Properties

- has_prepaid
- quantity
- price
- currency_code
- total_price
- days_since_first_attempt
- prepaid_orders_per_billing
- prepaid_renewal_behavior
- prepaid_orders_remaining

This event is synced in real-time and includes the following data:

has_prepaid
product {
  id
  name
  sku
  image_url
  detail_url
}
quantity
price
currency_code
total_price
days_since_first_attempt
prepaid_orders_per_billing
prepaid_renewal_behavior
prepaid_orders_remaining

 


Customer properties

Ordergroove Subscriber Status

  • Active if the customer has at least one active subscription.
  • Inactive if the customer has only inactive subscriptions.

NOTE: After completing the Klaviyo integration, you'll need to backfill your existing subscriber data to ensure all customers are properly imported into Klaviyo. Ordergroove only syncs customer properties for new subscriptions and updates going forward, so historical subscribers won't appear in Klaviyo until backfilled.

Screenshot_2023-01-27_at_8_11_51_AM_post.png