ROAS hides costs. A campaign that returns 4× revenue looks bulletproof until shipping, COGS, and fees land. That 4× ROAS can dissolve to 0.8× POAS — you're losing money. NetNet syncs daily ad spend and calculates POAS for Meta and Google so you see profit, not just clicks. Your blended POAS combines both platforms weighted by spend.
Growth+Your blended POAS of 2.4× means every dollar of ad spend generates $2.40 in gross profit after COGS, shipping, and fees. Both platforms are profitable. Google is healthier per dollar (2.7× vs 2.1×), but Meta accounts for more total volume.
OAuth login, no API keys. Daily auto-sync every 24 hours with auto-retry on failure and token refresh on expiry. Multi-account merchants see aggregate and per-account POAS with individual sync health.
Spend $1k on ads, make $4k in revenue = 4× ROAS. Perfect. Until you calculate: 55% COGS leaves $1.8k gross profit. Shipping, fees, and refunds whittle that further. POAS drops below 1.0×. You're burning cash on profitable-looking campaigns.
NetNet calculates both ROAS and POAS per campaign. You see which ads drive profit, not just clicks. Campaign POAS uses your store-wide gross margin so you compare apples-to-apples across Meta and Google.
The campaigns table ranks every Meta and Google campaign by POAS — moneymakers at the top, cash-burners at the bottom. Spend, ROAS, POAS, order count, and profit per line. Platform filter by channel. Green coding when ROAS beats break-even by 50%+, red when it's below.
One glance tells you which campaigns to scale and which to pause. No spreadsheet audit required. Campaign POAS is estimated from your gross margin percentage so results are consistent across platforms.
Any campaign with ROAS below 2.2× is losing money. Campaigns above 1.5× the break-even (3.3×) are profitable enough to scale.
Break-even ROAS is the minimum ROAS needed to cover COGS, shipping, and fees per sale. Below it, every order loses money. Above it, you profit. NetNet calculates yours from your actual costs. Adjust COGS or shipping, and break-even updates live.
When the campaigns table shows "ROAS 3.2× vs break-even 2.2×," you know immediately: scale. When it shows "ROAS 1.8×," you know: pause. No ambiguity.
Blended POAS below 1.0× (net loss on ads). Platform-specific POAS under 1.0× (one channel is losing). Campaign burning 5%+ of budget while unprofitable. Ad data stale over 24 hours. Specific, actionable, dismissable. No silent profit bleed.
Blended POAS is 0.8×. You spent $6,840 but only made $5,472 in gross profit. Check break-even ROAS or pause low-performing campaigns.
Meta Ads spend up 18% month-over-month, but ROAS down 12%. You're spending more for less return — review audience targeting.
Google Ads hasn't synced in 36 hours. POAS may be inaccurate. Check token expiry in Integrations.
Alerts are gated: critical alerts on Growth+, platform/campaign-level analysis on Pro. Alerts surface inline on the page — nothing to configure.
UTM parameters on landing page URLs reveal customer source (google, facebook, direct), medium (cpc, organic, social), and campaign. NetNet aggregates revenue and profit by each, so you see which sources drive profit, not just clicks. Attribution rate shows the % of orders with UTM data. Better tagging = better measurement.
UTM attribution is gated to Pro plan and above. Growth+ merchants see blended POAS and campaign-level analysis, but UTM source/medium/campaign breakdowns unlock on Pro.
Connect Meta and Google Ads; 90 days of ad spend history backfill; every new order updates POAS live.