Skip to main content
Submitting Upsells in sticky.io
Support avatar
Written by Support
Updated over 4 years ago

November 10, 2010
March 1, 2020


sticky.io API now allows merchants to define offers/products as upsells within our system. Formatting and submitting upsells to sticky.io provides for more in depth reporting. This allows our system to better understand the offer and provide analytics around the effectiveness of upsells and cross-sells.

Each product can now be defined as a step number allowing our system to associate Step 2+ with their Step 1. This functions as an integer so will also work for a multi-step upsell flow where Step 3,4,5 may be presented.

sticky.io can now answer:

How many customers purchased the upsell?

What is the upsell take rate?

What offer or campaign is more effective with upsells?

How profitable is the upsell?

Works with any New Order request

{new_order | new_order_card_on_file | new_order_with_prospect}

When to use the Upsell parameter

This method should only be utilized if an additional product will be presented to the consumer. If there is no upsell or cross-sell in the offer than this parameter should not be passed. sticky.io Analytics will use this to report upsell take rate; passing this parameter when no upsell is present will cause conflicting data.

Submitting with JSON API is very straight forward, this will be done right inside the Offers/Products array.

Typically the Upsell flow will be done using NewOrder for the main product and NewOrderCardOnFile for the Upsell, but can be passed with any of the Order methods.

In the New Order request the main product will be passed as Step 1 in the Products array:

"products":
 {

"16":
 {
 "offer_id":"8",
 "billing_model_id":"4",
 "quantity":"1",
 "step_num":"1"
 }

The Upsell order will then be placed using NewOrderCardOnFile and the product will now be identified as Step 2:

"products":
 {

"22":
 {
 "offer_id":"8",
 "billing_model_id":"4",
 "quantity":"1",
 "step_num":"2"
 }

This can also be done in a single NewOrder call using multiple product arrays to define the Step 1 and Step 2+

How to submit an Upsell using Legacy API

API Documents 

The way this is done in Legacy API is by using the new parameter:

product_step[productID]

For the NewOrder and NewOrderCardOnFile flow the product(s) will be passed as normal and this additional parameter will specify a product ID as an Upsell

In the New Order request the main product will be passed as Step 1:

productId = 16

Product_step[16] = 1

The Upsell order will then be passed as Step 2

productId = 22

Product_step[22] = 2

This can also be done in a single NewOrder call using multiple products to define each as Step 1 and Step 2+

Did this answer your question?