Combine Shopify & Stripe Data Without Code

By MCP Analytics Team | Published March 10, 2026 | 15 min read

Let me walk you through this step by step. If you're running an ecommerce business, you've probably noticed something frustrating: Shopify tells you one story about your revenue, and Stripe tells you another. Both are true, but neither gives you the complete picture.

Today, I'm going to show you how to merge these two datasets in just three clicks—no spreadsheets, no formulas, no coding required. By the end of this tutorial, you'll see your true profitability per order, including all fees that eat into your revenue.

There's no such thing as a dumb question in analytics, so if any step feels unclear, the troubleshooting section at the end has you covered.

What You'll Need Before Starting

Before we begin, make sure you have:

Don't worry if you're not technical. I've designed this tutorial to start from first principles and build from there.

Why You Need Both Datasets (And Why Each One Alone Isn't Enough)

Let's start with the basics. Your Shopify dashboard shows you orders—what customers bought, when they bought it, and what they paid. This is your gross revenue.

Your Stripe dashboard shows you payments—what actually hit your bank account after processing fees, refunds, and chargebacks. This is your net revenue.

Here's where it gets interesting. Imagine you had a $1,000 order today:

The answer is Stripe fees (2.9% + $0.30 per transaction in this case). But it gets more complex when you consider:

Without combining both datasets, you're making decisions based on incomplete information. You might think a product is profitable when the payment fees make it break-even. You might not notice that international orders cost you more to process.

The simplest explanation is often the most useful: you need both datasets to see the full financial picture of every order.

What You're Building: Revenue vs. Fees vs. Profit

By the end of this tutorial, you'll have a single dataset that shows you:

What You'll See Where It Comes From Why It Matters
Order Total Shopify What the customer paid
Processing Fees Stripe What you paid to accept payment
Net Revenue Stripe What actually reached your account
Product Details Shopify Which items drove the sale
Customer Location Shopify Geographic profitability analysis
True Profit Calculated Order Total - Fees = Real Profit

This combined view lets you answer questions that neither system can answer alone, like "Which products are actually profitable after payment processing?" or "Do international orders cost more to process than they're worth?"

Step 1: Export Your Shopify Order Data

First, let's get your order data out of Shopify. I'll walk you through exactly where to click.

Navigating to the Export Function

  1. Log into your Shopify admin dashboard
  2. Click on Orders in the left sidebar
  3. Look for the Export button in the top-right corner (it's next to the filters)
  4. Click Export orders

Choosing the Right Export Settings

You'll see several options. Here's what to select:

Understanding Shopify Order Export CSV Columns

When you open your Shopify export, you'll see many columns. The most important ones for our analysis are:

The Shopify Order Export CSV Columns "Lineitem Compare-At Price" Explained

Many people search specifically for information about the "lineitem compare at price" column in Shopify order export CSV files. Let me explain what this column means and why it matters for your profitability analysis.

The lineitem compare-at price (sometimes written as "compare at price" or "compare-at price") shows the original price of a product before any discounts were applied. This is crucial for understanding:

For example, if your Shopify orders export CSV columns show "lineitem compare-at price" as $100 and "lineitem price" as $70, you gave a $30 discount. When we later combine this with Stripe fees, you'll see if that $70 sale is still profitable after the 3% processing fee.

Sample Shopify Export Data

Here's what a few rows might look like:

Name,Email,Financial Status,Total,Lineitem name,Lineitem quantity,Lineitem price,Lineitem compare-at price
#1001,[email protected],paid,129.99,Wireless Mouse,1,129.99,149.99
#1002,[email protected],paid,79.99,USB Cable,2,39.99,49.99
#1003,[email protected],paid,299.99,Keyboard,1,299.99,299.99

Verification Step

Before moving on, open your exported CSV file and verify:

If everything looks good, you're ready for step 2!

Step 2: Export Your Stripe Payment Data

Now let's get the payment data from Stripe. This will show us what you actually received after fees.

Navigating to Stripe Exports

  1. Log into your Stripe Dashboard
  2. Click on Payments in the left sidebar
  3. Click the Export button at the top of the page
  4. Choose your export settings (I'll explain below)

Configuring Your Stripe Export

Stripe gives you several export options. Here's what works best for this analysis:

Key Stripe Columns You'll Use

The Stripe export includes these essential columns:

Sample Stripe Export Data

Here's what your Stripe data might look like:

id,Amount,Fee,Net,Description,Customer Email,Created
ch_abc123,129.99,4.07,125.92,Order #1001,[email protected],2026-03-01 14:23:01
ch_def456,79.99,2.62,77.37,Order #1002,[email protected],2026-03-01 16:45:33
ch_ghi789,299.99,9.00,290.99,Order #1003,[email protected],2026-03-02 09:12:45

Verification Step

Before proceeding, check that your Stripe export has:

Perfect! Now you have both pieces of the puzzle. Let's put them together.

Step 3: Match on Order ID or Transaction ID

This is where the magic happens. We're going to join these two datasets so each row shows the complete financial picture of an order.

Understanding the Join Key

Before we build a model or use any advanced techniques, let's just look at the data. What field appears in both datasets that we can use to match them?

Usually, it's one of these:

The most reliable match is the order number. Let's use that.

Using the MCP Analytics Data Merging Tool

Rather than wrestling with VLOOKUP formulas or writing SQL, let's use a tool designed for this exact task. Head over to the MCP Analytics data merging tool.

Upload Your Files

  1. Click "Upload First Dataset" and select your Shopify CSV
  2. Click "Upload Second Dataset" and select your Stripe CSV
  3. The tool will automatically detect the columns in each file

Configure the Join

Now tell the tool how to match the datasets:

  1. Under "Join Key from First Dataset", select "Name" (this is your Shopify order number)
  2. Under "Join Key from Second Dataset", select "Description" (this contains your order number)
  3. Choose "Inner Join" as your join type (this keeps only orders that appear in both systems)
  4. Click "Merge Datasets"

What's Happening Behind the Scenes

The tool is matching each Shopify order with its corresponding Stripe payment. An "inner join" means:

This ensures you're only analyzing completed, paid orders.

Alternative Approach: Manual Matching (If the Tool Doesn't Work)

If for some reason the automated matching doesn't work perfectly, here's a manual approach using spreadsheet software:

In Google Sheets or Excel:

  1. Open both CSV files in separate sheets
  2. In your Shopify sheet, add a new column called "Stripe Fee"
  3. Use this formula in cell (assuming order number is in A2 and Stripe data is in Sheet2):
=IFERROR(VLOOKUP("*"&A2&"*",Sheet2!$D:$F,2,FALSE),0)

This searches the Stripe description column for your order number and pulls back the fee.

  1. Add another column called "Net Revenue" with this formula:
=IFERROR(VLOOKUP("*"&A2&"*",Sheet2!$D:$F,3,FALSE),0)

This pulls the net amount you received.

But honestly, let's use the automated tool—it's much faster and less error-prone. I've just included this as a backup option.

Verification Step

After merging, check that:

Step 4: Review the Combined Dataset

Let's look at what you've created. Your merged dataset should now show the complete financial story of each order.

Sample Merged Output

Here's what your combined data should look like:

Order,Customer,Product,Qty,Price,Order_Total,Stripe_Fee,Net_Revenue,True_Profit
#1001,[email protected],Wireless Mouse,1,129.99,129.99,4.07,125.92,125.92
#1002,[email protected],USB Cable,2,39.99,79.98,2.62,77.36,77.36
#1003,[email protected],Keyboard,1,299.99,299.99,9.00,290.99,290.99

Understanding Each Column

Let me walk through what each column tells us:

Calculating True Profit

Now that you see revenue AND fees, you can calculate true profit. You'll need one more piece of information: your product costs.

Add a column for "Product_Cost" and fill in what each item costs you (COGS - Cost of Goods Sold). Then calculate:

True_Profit = Net_Revenue - (Product_Cost × Qty)

This shows you profit after both payment processing and product costs. Now you're seeing the real profitability of each order.

Export Your Merged Dataset

Don't forget to save your work! Click "Download as CSV" to export the merged dataset. You can now analyze this in any tool you prefer—or continue with our analysis features below.

5 Instant Insights You Can Now Answer

Before we dig deeper with models or complex analyses, let's just look at the data and see what it tells us. Here are five questions you can now answer instantly:

1. What Are Your Actual Profit Margins?

Create a simple calculation:

Profit_Margin = (Net_Revenue - Product_Cost) / Order_Total × 100

You might discover that products you thought had 40% margins actually have 35% margins after fees. That 5% difference is real money.

2. Which Payment Methods Cost You More?

Look at the "Stripe_Fee" column and group by payment type. You'll often find:

If you're seeing high international card fees, you might want to consider regional payment processors or adjust international pricing.

3. Are Discounted Products Still Profitable?

Remember that "lineitem compare-at price" column from Shopify? Now you can compare:

Is that 20% discount worth it? Now you can see the full impact on your bottom line. For a deeper understanding of how to prioritize products by profitability, check out our guide on ABC and Pareto analysis for data-driven decisions.

4. How Much Do Fees Cost You Per Month?

Sum the "Stripe_Fee" column for any time period:

Total_Monthly_Fees = SUM(Stripe_Fee)

Many store owners are shocked to discover they're paying $1,500+ per month in processing fees. Understanding this helps you evaluate whether alternative payment processors might save you money.

5. Which Products Have the Best Net Profit?

Sort your merged dataset by "True_Profit" (descending). The top products are your real winners—they're profitable after all costs.

You might find that your bestselling product (by volume) isn't your most profitable product (by margin). This is crucial information for inventory decisions and marketing spend.

Common Join Issues and How to Fix Them

There's no such thing as a dumb question in analytics. Here are the most common issues people encounter when merging Shopify and Stripe data, along with solutions.

Issue 1: Order Numbers Don't Match

Symptom: Your merge produces zero matches or very few matches.

Cause: Shopify uses order numbers like "#1001" but Stripe's description might say "Order 1001" (without the #), or vice versa.

Solution: Clean the data before joining. Remove special characters:

Issue 2: Multiple Shopify Orders for One Stripe Charge

Symptom: One Stripe charge matches multiple Shopify orders.

Cause: Customer placed multiple orders quickly, and they were batched into one charge.

Solution: Look at timestamps. Join on both order number AND timestamp (within a few minutes). Alternatively, use customer email as a secondary join key.

Issue 3: Refunded Orders Skewing Results

Symptom: Some orders show negative net revenue.

Cause: The order was refunded, but both the original charge and refund appear in your data.

Solution: Filter out refunds before analyzing. Look for:

-- Keep only positive transactions
Filter: Stripe_Amount > 0 AND Shopify_Financial_Status = "paid"

Issue 4: Date Ranges Don't Align

Symptom: Many Shopify orders don't have matching Stripe charges.

Cause: You exported different date ranges from each system, OR there's a lag between order creation and payment processing.

Solution: Re-export both datasets with the same date range, but give Stripe data an extra 2-3 days buffer (payments can take time to process). If you're analyzing statistical significance of changes over time, our guide on A/B testing statistical significance can help you understand whether differences are meaningful.

Issue 5: Missing Stripe Fee Data

Symptom: After merging, the Stripe_Fee column is empty or shows zeros.

Cause: You didn't include the "Fee" column in your Stripe export.

Solution: Go back to Stripe and re-export with "All available columns" selected. Make sure you see these columns in your CSV:

If you're still stuck, the troubleshooting section below has more specific guidance for edge cases.

Next Steps: Analyze by Product, Region, or Customer

Now that you have a unified dataset, the real fun begins. Let's explore what questions you can answer by grouping and filtering your data.

Analyze by Product

Group your merged data by "Product" name to see:

-- Example analysis: Group by product
SELECT
  Product,
  SUM(Order_Total) as Gross_Revenue,
  SUM(Stripe_Fee) as Total_Fees,
  SUM(Net_Revenue) as Net_Revenue,
  COUNT(*) as Orders,
  AVG(True_Profit) as Avg_Profit_Per_Order
GROUP BY Product
ORDER BY Net_Revenue DESC

This shows you which products are your real moneymakers after accounting for payment processing.

Analyze by Region or Customer Location

Your Shopify export includes shipping addresses. Use this to analyze geographic profitability:

Group by "Shipping Country" or "Shipping State" to see regional patterns.

Analyze by Customer

Group by customer email to identify:

-- Example: Find top customers by net revenue
SELECT
  Customer_Email,
  COUNT(DISTINCT Order) as Order_Count,
  SUM(Net_Revenue) as Lifetime_Value,
  AVG(Stripe_Fee / Order_Total) as Avg_Fee_Percentage
GROUP BY Customer_Email
ORDER BY Lifetime_Value DESC
LIMIT 20

Time-Based Analysis

Add a date column (from your "Created" timestamp) and analyze trends:

Looking at your data over time helps you notice patterns that weekly dashboards miss. If you want to understand how changes impact your metrics over time, explore our article on boosting algorithms for data-driven decisions.

Advanced: Multi-Dimensional Analysis

Combine multiple dimensions for deeper insights:

The possibilities are endless once you have clean, merged data. The greatest value of analyzing data is when it forces us to notice what we never expected to see.

Ready to Go Deeper?

You've successfully merged your Shopify and Stripe data—congratulations! You now have a complete financial picture of every order.

But combining the data is just the beginning. The next step is analyzing it to uncover insights that drive real business decisions.

Analyze Your Merged Dataset with MCP Analytics

Head over to our free analysis tool to:

Analyze Your Data Now →

No credit card required. Upload your merged CSV and start exploring in seconds.

Troubleshooting Guide

If you're stuck at any point, don't worry—here are solutions to specific problems.

My Shopify Export Is Missing Columns

Problem: You don't see "lineitem compare-at price" or other expected columns.

Solution: Make sure you selected the right export format. Go back to Shopify Orders → Export → Choose "CSV for Excel, Numbers, or other spreadsheet programs" (not "Plain CSV file"). The plain format has fewer columns.

Stripe Won't Let Me Export All Columns

Problem: The Stripe export dialog doesn't show a "Fee" column option.

Solution: You might be on a restricted Stripe account. Try these steps:

  1. Go to Stripe Dashboard → Payments
  2. Click "More" (three dots) → "Export"
  3. Choose "Custom" as the export type
  4. Manually select columns including: Amount, Fee, Net, Description

The Merge Tool Says "No Matching Rows Found"

Problem: After uploading both files, the merge produces zero matches.

Solution checklist:

  1. Open both CSV files and visually confirm that order numbers appear in both
  2. Check if Shopify uses "#1001" while Stripe uses "1001"—you'll need to remove the "#"
  3. Verify that both exports cover the same date range
  4. Make sure the Stripe "Description" field actually contains order numbers (it should if Shopify is your payment processor)

Some Orders Are Duplicated After Merging

Problem: One Shopify order appears multiple times in the merged data.

Solution: This happens when Shopify exports line items separately. If an order had 3 products, it might appear as 3 rows. This is actually fine for product-level analysis! Each row shows revenue and fees at the line-item level.

If you want order-level aggregation instead, group by "Order" and sum the amounts.

Fees Seem Too High or Too Low

Problem: The Stripe fees don't match your expectations (should be around 2.9% + $0.30 per transaction).

Solution: Check these common issues:

Still Stuck?

If you're still having issues after trying these solutions, the problem might be with data formatting or specific to your Shopify/Stripe setup. Reach out to us through the analysis tool with a sample of your data (anonymized), and we'll help troubleshoot.

Frequently Asked Questions

How often should I merge my Shopify and Stripe data?

For ongoing analysis, I recommend monthly. Export both datasets on the 1st of each month for the previous month's data. This gives you a consistent rhythm for tracking profitability trends.

If you're making pricing decisions or running promotions, you might want to do it weekly to see the impact faster.

What if I use a payment processor other than Stripe?

The same principles apply! Whether you use PayPal, Square, or another processor, you need the same data points:

Export these from your payment processor and follow the same merging steps.

Do I need to include refunds and chargebacks?

For initial profitability analysis, I recommend excluding refunds—they complicate the picture. Start with completed, paid orders only.

Once you understand your baseline profitability, you can run a separate analysis on refunds and chargebacks to see how they impact your overall margins.

Can I automate this process?

Yes! Once you've done the manual process a few times and understand how the data connects, you can automate it with tools like Zapier or by using Shopify and Stripe's APIs. However, I recommend starting manually so you understand what's happening behind the scenes.

What about other costs like shipping and advertising?

This tutorial focused on payment processing fees because they're often invisible in standard reports. But you're right—for complete profitability, you should also factor in:

Once you have this merged dataset, you can add columns for these other costs to get a complete profit picture.

How accurate is this analysis?

As long as your exports are complete and cover the same date range, this analysis is highly accurate. The merged data shows exactly what happened financially for each order.

The only caveat: there might be a 1-2 day lag between when an order is created in Shopify and when the payment is processed by Stripe. For most analyses, this is negligible, but if you're looking at daily data, keep this timing difference in mind.

You Did It!

Let's celebrate—you've successfully combined two critical datasets to see the complete financial picture of your ecommerce business. You're no longer guessing about profitability; you're looking at real data.

Here's what you accomplished today:

The simplest explanation is often the most useful: now you know where every dollar goes, from customer payment to your bank account.

What does this visualization tell us? Let's look together: some products that seemed profitable might have thin margins after fees. Some customer segments might be more valuable than you thought. Some regions might need pricing adjustments.

These insights are only visible when you combine both data sources.

Where to Go From Here

Now that you have clean, merged data, here are your next steps:

  1. Analyze your top products by net profitability (after fees)
  2. Review your pricing strategy for products with low margins
  3. Identify your most profitable customer segments to focus marketing spend
  4. Set up a monthly process to track these metrics over time
  5. Explore the MCP Analytics tool for deeper visualizations and insights

Remember: there's no such thing as a dumb question in analytics. If you got stuck anywhere in this tutorial, that's valuable feedback for me to make it clearer. And if you discovered interesting patterns in your data, that's exactly what this analysis is for—noticing what you never expected to see.

Happy analyzing!

— MCP Analytics Team

Explore more: Shopify Analytics — all tools, tutorials, and guides →

Marketing Team? Get Channel-Level ROI — See which channels actually drive revenue with media mix modeling, multi-touch attribution, and ad spend analysis.
Explore Marketing Analytics →

Not sure which plan? Compare plans →