Skip to main content
All CollectionsMomentsCross-sell Moment
Primed for Cross-sell Events
Primed for Cross-sell Events
Updated over a week ago

Before using this event, you must activate product predictions in the Repeat Shopify app. Head to Moments > Cross Sell to turn on predictions.

About Primed for Cross-sell Events

This event helps you drive more cross-sells by introducing customers to more of your product catalog at the right time.

The event also includes Product Predictions. You can use our Product Predictions to show each customer the products they haven't tried yet and are most likely to buy on their next order, based on what they bought previously.

Timing

Because the optimal time is a little different for each customer (depending on what they bought in their first order), we’ll personalize the timing so you don’t have to worry about it.

Klaviyo Event Properties

The Due to Replenish Klaviyo event contains these properties:

Field

Description

Variable

Repeat Cart URL

URL of the customer's Personalized Cart
String

{{ event|lookup:'Repeat Cart URL' }}

Subscription Repeat Cart URL

URL of the customer's Personalized Cart with subscription enabled by default
String

{{ event|lookup:'Subscription Repeat Cart URL' }}

productPredictions

List of products that the customer is likely to buy next

Array of objects

{{ event.productPredictions }}

Note: Product variables below are shown as used in a dynamic table with event.reorderableProducts as the "Row collection" and item as the "Row alias"

‣ product

Details of a reorderable product
Object

‣ id

Product's Shopify ID
​Number
e.g. 12345

{{ item.product.id }}

‣ title

Product's title
​String
e.g. "Fizz In A Can"

{{ item.product.title }}

‣ price

Product's price
String
e.g. "24.00"

{{ item.product.price }}

‣ subscription_price

Product's price when purchased with a subscription plan

String
e.g. "20.00"

{{ item.product.subscription_price }}

‣ handle

Handle of the product used in the URL of the online store
String
e.g. "fizz-in-a-can"

{{ item.product.handle }}

‣ images

Object containing details about the product's images
Array of objects

‣ src

The URL of the product's primary image
String

{{ item.product.images0.src }}

‣ variant

Details about the product's variant

‣ id

Variant's Shopify ID
​Number
e.g. 56789

{{ item.product.variant.id }}

‣ title

Variant's title
​String
e.g. "6 Pack"

{{ item.product.variant.title }}

previouslyPurchased

List of products that the customer has purchased before

Array of objects

{{ event.previouslyPurchased }}

Note: The previously purchased product list is structured identically to the product predictions list above. You can use the same variables in a dynamic table with event.previouslyPurchased as the "Row collection" and item as the "Row alias"

product_predictions_product_ids

List all product IDs of predicted cross-sell products
Array of numbers
e.g. [12345, 56789]

{{ event.product_predictions_product_ids }}

product_predictions_product_titles

List all product product titles of predicted cross-sell products
Array of strings
e.g. ["Fizz In A Can", "Goop In A Tube"]

{{ event.product_predictions_product_titles }}

product_predictions_variant_ids

List all variant IDs of predicted cross-sell products
Array of numbers
e.g. [12345, 56789]

{{ event.product_predictions_variant_ids }}

product_predictions_variant_titles

List all product product titles of predicted cross-sell products
Array of strings
e.g. ["6 Pack", "12 Pack"]

{{ event.product_predictions_variant_titles }}

previously_purchased_product_ids

List all product IDs of previously purchased products
Array of numbers
e.g. [12345, 56789]

{{ event.previously_purchased_product_ids }}

previously_purchased_product_titles

List all product product titles of previously purchased products
Array of strings
e.g. ["Fizz In A Can", "Goop In A Tube"]

{{ event.previously_purchased_product_titles }}

previously_purchased_variant_ids

List all variant IDs of previously purchased products
Array of numbers
e.g. [12345, 56789]

{{ event.previously_purchased_variant_ids }}

previously_purchased_variant_titles

List all product product titles of previously purchased products
Array of strings
e.g. ["6 Pack", "12 Pack"]

{{ event.previously_purchased_variant_titles }}

Minimum Send Threshold Setting

If you'd like, you can set a minimum number of days between when a customer places an order and when the event will be sent to your integrated marketing channels.

If the setting field is left blank, the threshold does not apply. Repeat will use your customer and order data to determine the best time, regardless of the time since the first purchase.

This setting can be accessed on Cross-sell Moment Page:

Once you have made a change to the minimum threshold that change will take effect the next day.

Choosing a Minimum Send Threshold

Setting a specific minimum send threshold is a great way to ensure that the Primed for Cross-sell Moment is not sending in advance of key customer touch points.

For example, you may want to set a minimum threshold to compensate for delivery time if you don't want to ask a customer to purchase another product before their first order arrives.

You may also be sending transactional messages in the first few days after an order. If you want to wait until these messages conclude (let's say two days later), you could avoid the overlap if you set the minimum threshold to 2 days.

Recommend Threshold Settings

When the threshold is set to “automatic” Repeat will use dynamic send times. This means that we analyze customer, product, and order data to determine the best time for each customer. We recommend keeping this set to automatic unless there is a strong customer experience reason not to (like the examples above)

We also only allow the threshold to be between 1 and 31 days. The Primed for Cross-sell Moment is designed to ask people to shop other products at the point they are most likely to return for their next order. If the delay is too long the moment becomes less effective.

Use The Event To Trigger Email or SMS

Check out the Product Discovery with Predicted Products Play for step-by-step instructions on setting this up on any platform.

In Klaviyo

Select the "Repeat - Primed for Cross-sell" metric as the trigger for a flow.


In Postscript

This event can be used to trigger an automation with Postscript's legacy automation builder. Select Repeat - Due for 2nd Order Cross Sell" as the automation's trigger.

Use these snippets to personalize the message:

{prediction_product_title}
{prediction_variant_title}
{prediction_variant_price}
{prediction_pdp_url}

In Attentive

This event can be used to trigger a Journey in Attentive. Select "Repeat - Due for 2nd Order Cross Sell" as the Journey's trigger.

Add a link to the customer's Personalized Cart by adding this snippet to a message:

{{triggerEvent.custom['prediction_product_title']}}
{{triggerEvent.custom['prediction_variant_title']}}
{{triggerEvent.custom['prediction_pdp_url']}}
{{triggerEvent.custom['prediction_variant_price']}}
Did this answer your question?