You sold a product. The customer paid. The order went out. Done, right?
Except you have no idea whether that upsell offer on the thank-you page actually worked. Did they click it? Did they add the item? Did it generate revenue you would not have made otherwise? Most stores track the initial purchase and stop there. The upsell is a black box.
Here is how to build a simple tracker that records every post-purchase upsell click, add-to-cart, and completed second order, using nothing but your existing Shopify order data and a Google Sheet.
What You Are Tracking
Three events matter when measuring upsell performance:
- Impression: The customer saw the upsell offer on your thank-you page or order confirmation email
- Click: They clicked the upsell product link
- Conversion: They placed a second order containing the upsell product
Most stores stop at the first two if they track anything at all. The third one is where the money question lives.
Step 1: Tag Every Upsell Product in Shopify
Go to your Shopify admin and tag every product you use as a post-purchase upsell with the tag upsell. This is the hook that lets you separate upsell revenue from regular revenue later.
If you rotate upsell products, tag all of them. If you use the same product for every order, tag that one. The tag is the filter.
Step 2: Create a Google Sheet With Three Tabs
Set up a new Google Sheet with three tabs:
- Orders: Order ID, date, customer email, total, line items, tags
- Upsell Clicks: Timestamp, order ID, product ID, product title
- Summary: Date, total orders, upsell impressions, upsell clicks, upsell conversions, upsell revenue
The Orders tab is your raw data. The Upsell Clicks tab captures link clicks. The Summary tab is where the math happens.
Step 3: Export Order Data Weekly
Once a week, export your Shopify orders as CSV. Filter for orders that contain products tagged upsell. Paste them into the Orders tab.
You are looking for one specific pattern: a customer who placed two orders within 72 hours, where the second order contains a product tagged upsell. That is your conversion.
Step 4: Track Clicks With a UTM Parameter
Every upsell link on your thank-you page and in your order confirmation email should include a UTM parameter: ?utm_source=upsell&utm_medium=post-purchase&utm_campaign={product_handle}
This does two things. It shows up in Google Analytics under the upsell campaign, and it lets you count clicks from that specific placement. If you want to track it in your sheet, use a link shortener with click tracking or a simple redirect script that logs the click before forwarding.
Step 5: Calculate Your Upsell Metrics
In your Summary tab, calculate:
- Upsell rate: Conversions divided by total orders. If 100 people bought and 8 also bought the upsell, your rate is 8%.
- Upsell revenue: Sum of all second-order totals that contain an upsell product.
- Click-to-buy rate: Conversions divided by clicks. If 40 people clicked and 8 bought, your click-to-buy rate is 20%.
These three numbers tell you whether your upsell offer is working, whether the product is right, and whether the placement is doing its job.
What to Do With the Data
If your upsell rate is under 3%, your offer is not compelling enough. Try a different product, a bundle price, or a time-limited discount that expires within 24 hours.
If your click-to-buy rate is under 10%, the upsell product page is the problem. The product might be too expensive, poorly described, or unrelated to what they just bought.
If clicks are low but conversions are high, the offer is good but the placement is wrong. Move the upsell higher on the thank-you page or into the order confirmation email subject line.
The 10-Minute Version
If you do not want to build the sheet yourself, export your last 90 days of orders, filter for repeat customers, check which second orders contain products you normally upsell, and count. That number is your baseline. Everything from here is improvement.
Want more like this? Join MOKU Club for free. Weekly resources, early access to new guides, and occasional templates you can actually use. Join below.

