Wootrack Growth Blog

Payment Processing Fees in Google Ads Profit Tracking for WooCommerce

TL;DR

Payment processing fees from Stripe, PayPal, and Klarna typically consume 1.5–3.5% of every WooCommerce order, yet most stores never subtract them from the profit values sent to Google Ads. This omission inflates POAS figures, causes Google’s AI to scale products that are actually margin-negative, and silently drains ad budget. Baking per-gateway fee rates into your offline conversion values is the fix — and it’s automatable.

Key takeaways

  • A 2.9% + $0.30 Stripe fee on a $50 order reduces true profit by $1.75 — multiply that across thousands of orders and the impact is material.
  • Klarna and other buy-now-pay-later gateways often charge 3.29–5.99% per transaction, making them the most expensive and least-tracked cost in ecommerce.
  • Google Ads POAS calculations are only as accurate as the profit value you send — gateway fees left out mean Google optimizes for the wrong signal.
  • WooCommerce stores using multiple gateways need per-gateway fee logic, not a single blended rate, to avoid systematic over- or under-reporting.
  • Automating fee deduction at the order level — before sending offline conversions — is the only scalable path to true profit-driven bidding.

Why Payment Processing Fees Distort Your Google Ads POAS

When WooCommerce store owners set up profit tracking for Google Ads, they typically start with COGS and shipping. Both are visible, tangible, and easy to assign per SKU. Payment processing fees, by contrast, are deducted silently at the gateway level — you see them in your Stripe or PayPal dashboard, but they rarely make it into the profit formula that feeds your ad platform.

The result is a systematic overstatement of profit per order. If your POAS target is 120% (meaning you want $1.20 in profit for every $1 spent on ads), but your actual profit is 8–12% lower than reported because gateway fees were never subtracted, you are effectively running campaigns at break-even or below without knowing it.

The problem compounds at scale. A store doing 500 orders per month at an average order value of $80, using Stripe at 2.9% + $0.30, pays roughly $1,316 per month in processing fees alone. If those fees aren’t in the profit signal sent to Google Ads, the algorithm is being trained on phantom margin — and it will confidently scale the products that look most profitable on paper while quietly bleeding real cash.

How Different Gateways Create Unequal Margin Erosion

Not all payment gateways cost the same, and the gap matters enormously for multi-gateway WooCommerce stores. Stripe’s standard rate of 2.9% + $0.30 per transaction is well-known, but PayPal’s rates vary by transaction type and country — domestic card payments often run 3.49% + $0.49 for checkout links, while standard card processing sits around 2.99%. Klarna and other BNPL providers are the outliers: merchant fees typically range from 3.29% to as high as 5.99% depending on the product and region.

When a customer chooses Klarna at checkout instead of a standard card, your effective margin on that order drops by an additional 0.4–3.1 percentage points compared to a Stripe transaction. If Google Ads is sending traffic to a product with a 15% gross margin, a Klarna checkout can cut that to 9–11% before a single ad dollar is counted. This is the hidden cost that turns a borderline product into a confirmed loser — but only if you’re measuring it.

2.9%Stripe standard per-transaction rate (+ $0.30 fixed fee)
5.99%Maximum Klarna merchant fee on some BNPL products
~$1,316Monthly Stripe fees for 500 orders at $80 AOV — often untracked in POAS
8–12%Typical profit overstatement when gateway fees are excluded from conversion values

The Blended Rate Trap Using a single average gateway fee across all orders sounds like a reasonable shortcut, but it systematically misprices high-AOV orders (where fixed fees matter less) and low-AOV orders (where the $0.30 fixed component is disproportionately large) — distorting exactly the product-level signals Google Ads needs to bid correctly.

How to Bake Payment Gateway Fees Into Your WooCommerce Profit Values

  1. 1
    Audit every active payment gateway and its current fee structure

    Log into each gateway dashboard — Stripe, PayPal, Klarna, and any others — and record the exact percentage rate and fixed fee per transaction. Note whether rates differ by card type, country, or transaction method. This becomes your fee table.

  2. 2
    Map each WooCommerce order to its gateway at the transaction level

    WooCommerce stores the payment method used for each order in the order meta. You need logic (either custom code or a plugin) that reads the payment_method field and applies the corresponding fee formula: (order_total × percentage_rate) + fixed_fee.

  3. 3
    Subtract the calculated gateway fee from your gross profit value

    Your profit formula should read: Revenue − COGS − Shipping Cost − Payment Processing Fee − VAT (if applicable) = True Profit. This true profit figure is what gets sent as the conversion value to Google Ads, not revenue and not a COGS-only margin.

  4. 4
    Send the corrected profit value as an offline conversion to Google Ads

    Use Google’s offline conversion import or the Enhanced Conversions for leads framework to pass the true profit value tied to the original click’s GCLID. This is the signal Google’s Smart Bidding uses to optimize toward actual profit, not reported revenue.

  5. 5
    Set POAS thresholds that reflect your real margin targets

    With accurate profit values flowing in, recalibrate your POAS targets. If you were previously targeting 120% POAS based on inflated profit figures, your corrected target may need to be 105–110% to maintain the same real-world return. Adjust campaign-level targets accordingly.

Building a Measurement Loop That Catches Fee Changes Automatically

Gateway fee structures change. Stripe has adjusted its pricing multiple times; PayPal’s rates vary by account tier and transaction volume; Klarna renegotiates merchant rates annually for high-volume stores. A profit tracking setup that hardcodes fee rates will drift out of accuracy within months.

The solution is a measurement loop: a regular audit cadence (monthly is sufficient for most stores) where you compare the fees actually charged by each gateway against the fees your tracking system estimated. The delta tells you how much profit distortion has crept back in. If your estimated Stripe fees were $1,200 but actual charges were $1,450, your profit values are overstated by $250 that month — and Google Ads has been optimizing on that inflated signal.

For EU-based WooCommerce stores, this loop also needs to account for VAT on gateway fees in some jurisdictions, which adds another layer of complexity to the true cost calculation. The practical answer is to build fee logic that is updatable without a developer — either through a settings panel or a fee table that non-technical operators can maintain.

Using WootrackApp to Automate Per-Gateway Fee Deduction

WootrackApp’s Real Profit Tracking feature is built specifically for this problem. Rather than requiring custom code or manual spreadsheet reconciliation, it lets you define fee rates per payment gateway directly in the plugin settings. When an order completes, WootrackApp reads the payment method, applies the correct fee formula, and includes the result in the profit value it sends to Google Ads as an offline conversion.

This means your POAS Bidding signal — the profit value Google’s AI uses to decide which products to scale and which to cut — reflects Stripe fees on Stripe orders, PayPal fees on PayPal orders, and Klarna’s higher rates on BNPL transactions. The A/C/X product labeling (Winners, Borderline, Losers) that WootrackApp applies to your catalog is therefore based on true profit, not revenue-minus-COGS approximations. Products that look like winners on a ROAS dashboard but are margin-negative after gateway costs get correctly flagged as Losers and excluded from scaling.

True profit per $80 order across common WooCommerce payment gateways (assuming 40% gross margin before fees)

Gateway Fee on $80 Order Profit After Fee (from $32 gross) Effective Margin
Stripe (2.9% + $0.30) $2.62 $29.38 36.7%
PayPal Standard (2.99% + $0.49) $2.88 $29.12 36.4%
PayPal Checkout (3.49% + $0.49) $3.28 $28.72 35.9%
Klarna (3.29%) $2.63 $29.37 36.7%
Klarna (5.99%) $4.79 $27.21 34.0%

Pre-Launch Audit: Is Your WooCommerce Profit Tracking Fee-Complete?

  • Every active payment gateway has a documented, current fee rate (percentage + fixed component) recorded in your tracking setup
  • Your profit formula subtracts gateway fees at the order level, not as a blended monthly average
  • Orders paid via BNPL gateways (Klarna, Afterpay, etc.) use the correct higher fee rate, not the standard card rate
  • The payment_method field in WooCommerce order meta is being read and matched to the correct fee rule
  • Your offline conversion values sent to Google Ads reflect true profit (Revenue − COGS − Shipping − Gateway Fee − VAT), not gross revenue
  • You have a monthly reconciliation process to compare estimated vs. actual gateway charges and update fee rates when they drift
  • POAS targets in Google Ads campaigns have been recalibrated to reflect the corrected, lower profit values
  • High-BNPL-usage products have been reviewed for margin viability given their higher effective gateway cost

Frequently asked questions

Does it matter which payment gateway a customer uses if my average margin is already healthy?

Yes — especially at the product level. A product with a 12% net margin after COGS and shipping can become margin-negative on a Klarna transaction at 5.99%. Google Ads will keep scaling that product based on its average POAS unless per-gateway fee logic is applied at the order level.

Can I use a single blended gateway fee rate to simplify the setup?

You can, but it introduces systematic error. If 30% of your orders go through Klarna and 70% through Stripe, a blended rate will overstate profit on Stripe orders and understate it on Klarna orders. Over time, Google Ads will over-invest in products that happen to attract more Klarna checkouts — exactly the opposite of what you want.

How do Stripe fees for WooCommerce affect POAS calculations differently than PayPal fees?

The mechanics are the same — both reduce the true profit value you should send to Google Ads — but the magnitude differs. Stripe’s 2.9% + $0.30 is slightly lower than PayPal Checkout’s 3.49% + $0.49 on most order values. On a $50 order, the difference is about $0.74, which is small per order but meaningful when multiplied across thousands of transactions monthly.

What is the right POAS threshold to set once I include payment processing fees in my profit values?

There’s no universal answer, but a practical starting point is to recalculate your historical POAS using fee-corrected profit values and compare it to your previous ROAS-derived targets. Most stores find their real POAS is 8–15% lower than previously reported, so targets need to be adjusted downward by a similar margin to avoid over-restricting bids.

Do EU WooCommerce stores need to account for VAT on payment processing fees?

In most EU jurisdictions, payment processing fees from providers like Stripe are exempt from VAT under financial services rules. However, some ancillary charges (like dispute fees or currency conversion fees) may be VAT-applicable depending on your country. Check with your accountant and ensure your profit formula handles these edge cases correctly.

How does WootrackApp handle stores that switch payment gateways mid-month?

WootrackApp applies fee rules at the individual order level based on the payment method recorded at the time of purchase. If you add a new gateway mid-month, you simply add its fee rate to the settings, and all subsequent orders using that gateway will be calculated correctly — historical orders retain the fee logic that was active when they were placed.