Skip to main content
    European Search Awards 2026 Winner - Best PPC Agency

    Free script

    The POAS Script

    A read-only Google Ads script that joins your SKU margins to Shopping and PMax performance, then reports profit on ad spend per product. No email required. No gate.

    Most accounts are optimised to revenue because revenue is the number Google is given. This script shows you the other number: what each product actually contributes after margin. It takes about twenty minutes to set up.

    What it gives you

    • Product-level cost, revenue, conversions and ROAS from the Shopping performance view
    • Contribution margin joined per item ID from your own sheet
    • Gross profit and POAS calculated per SKU
    • A verdict per SKU: Scale, Profitable hold, Marginal, or Losing money
    • Account-level POAS and total gross profit generated by paid

    Setting it up

    1. Build the margin table

    Create a Google Sheet with two tabs: Margins and POAS Report. In Margins, column A is the Merchant Centre item ID, column B is contribution margin after COGS, shipping, returns and payment fees. Decimals or percentages both work.

    2. Paste the script into Google Ads

    Tools > Bulk actions > Scripts > New script. Paste the file, set SPREADSHEET_URL, authorise, and preview. Nothing is changed in your account: the script only reads.

    3. Set your break-even

    TARGET_POAS defaults to 1.5. Set it to whatever your business actually needs a product to return once fixed costs are covered. This is the number that decides Scale, Hold, Cap or Cut.

    4. Schedule it daily and read the bottom

    The report sorts worst POAS first. The top rows are your leaks. That is the list you take into your next agency call.

    The maths

    POAS = (revenue x contribution margin) / ad spend

    A product doing 6x ROAS on a 12% margin returns 0.72 POAS. A product doing 2.5x ROAS on a 55% margin returns 1.38. The second one is the business. Most accounts fund the first one because it looks better in the platform.

    Frequently asked questions

    What is POAS?

    Profit on Ad Spend. Instead of dividing revenue by cost, you divide gross profit by cost. A 6x ROAS on a 12% margin product is a 0.72 POAS, which means every pound spent destroys 28p of profit.

    Is the script really free?

    Yes. No email required, no login, no gated download. Use it, edit it, share it with your current agency. There is no warranty and no support attached to it.

    Will it change anything in my Google Ads account?

    No. It is read-only. It queries the Shopping performance view and writes to your own spreadsheet. It does not touch bids, budgets or campaign settings.

    What if I do not have margin data per SKU?

    Set DEFAULT_MARGIN to your blended contribution margin and run it anyway. It will be directionally useful. The value goes up sharply once you load real per-SKU margins, which is usually a one-off export from your ecommerce platform.

    Does this replace a proper POAS setup?

    No. This reports POAS. A proper setup feeds margin back into Google as the conversion value so bidding optimises to profit rather than revenue. The script tells you whether that work is worth doing.

    Once you have the numbers, the question is what to do with them

    The script tells you which SKUs lose money. Restructuring the account so bidding respects that is the harder part. That is the work we do.