Integrating One Click Upsell Forms

If you've installed our AnalyticsConnect.io software that automatically posts sales data from Keap/Infusionsoft into Google Analytics Ecommerce, you may be wondering how to use our software with upsell pages. This guide will tell you about one-click-upsell software packages that already work with AnalyticsConnect.io, and if you're a developer, it will tell you what you need to know to build a solution yourself.

One Click Up Sell for Order Forms by Fix Your Funnel

One Click Up Sell for Order Forms by Fix Your Funnel is 100% compatible with AnalyticsConnect.io, so there's no complicated setup involved. Inside Google Analytics, you'll need to update your List Unwanted Referrals to include singleclicksale.com which your traffic will be passing through.

One-Click Upsell by PlusThis

One-Click Upsell by PlusThis is also compatible with AnalyticsConnect.io. There are two different ways to configure the PlusThis software, each requiring a different setup of AnalyticsConnect.io. The default PlusThis configuration will create a separate order for each upsell page, which is the setting we recommend. The non-standard configuration will adjust the original order to add any upsell items to the original order. That setting option inside PlusThis will look like the following picture. Depending on if you check that box or not, you'll follow one of the below sets of instructions.

1) Create New Order For Each Upsell Page (recommended method): Start by installing the AnalyticsConnect.io code on all upsell and thank-you pages. Inside Google Analytics, you'll need to update your List Unwanted Referrals to include e.plusthis.com which your traffic will be passing through.

2) Modify Existing Order - Add Upsell Items To Original Order: If you enable the "Add products to existing order" option, things are much more complicated. You'll need setup the Keap/Infusionsoft Payment Notification Webhook to report your sales. All sales will be reported as "offline" sales in this case. Inside Google Analytics, you'll need to update your List Unwanted Referrals to include e.plusthis.com which your traffic will be passing through.

In either case, you'll need to use separate URLs for "charge successful" and "charge failed", with the "charge failed" page NOT having AnalyticsConnect.io code on it, or you'll see failed transactions counted as successful.

Build Your Own Solution

If you want to do it the hard way, there are some important things to consider...

Be sure that your method is creating a separate, new order for each upsell, rather than modifying an existing order. (If this isn't possible, you have the option of using our Keap/Infusionsoft Payment Notification Webhook to build a solution that ignores anything to do with orderId in the thank-you page URL.)

Check that you have the orderId variable in the thank-you page URL to tell our AnalyticsConnect.io code what transaction data to push into Google Analytics Ecommerce. A orderId present inside of a thank-you page URL means the order was successful, because a failed order never goes to a "thank-you" page, rather it goes to an "update payment and try again" page. In the world of Keap/Infusionsoft, orderId on a thank-you page always means a successful payment.

Next, verify that the orderId variable is always set to the the order that just happened. In other words, the orderId variable should NEVER be set to the same thing on two different URLs as you travel through your upsell process.

The most common design error we see in upsell scripts: Some upsell software packages do things in the opposite way that Keap/Infusionsoft is correctly designed to work. They will correctly report orderId on the first sale, but on the second sale (the upsell), they then take the liberty of miss-writing orderId as the original sale (rather than the sale that just happened), and then makeup a new variable such as newOrderId to hold what should be orderId. In the world of Keap/Infusionsoft, orderId is always the order that just happened. If you are building software and for some reason want to have all the orderId's in the chain written into the final URL, do it like this:

STEP 1: example.com/first-page?orderId=1000
STEP 2: example.com/second-page?orderId-1=1000&orderId=1001
STEP 3: example.com/third-page?orderId-1=1000&orderId-2=1001&orderId=1002

You will also want to verify that whatever code your running isn't confusing orderId with invoiceId. You can read this document for a full explanation.

And finally, there is a big difference between using a real "Order Form" and using a "web-form that's been hacked to create an order on the back-end." If you're using a web-form that's been hacked to create an order, Keap/Infusionsoft will NOT post the orderId to the thank-you page and thus our AnalyticsConnect.io code cannot read it. If you're unsure which you're using, you can view your Keap/Infusionsoft Order Forms from inside your Keap/Infusionsoft account under "E-Commerce". Go to "E-Commerce Setup", then "Checkout", and then "Order Forms." And while AnalyticsConnect.io is compatible with Keap/Infusionsoft's "Legacy Order Forms", we recommend upgrading them to the newer ones if possible.

Related Resources

GA4 List Unwanted Referrals

Keap/Infusionsoft Payment Notification Webhook

The Difference Between orderId and invoiceId

Article Feedback

If anything here is incorrect, outdated, or omits critical information, please use our contact us form and let us know.