Skip to main content
AxonRow Core

Ad Spend & GMV Max Analytics

GMV Max campaign tracking, ROAS attribution by SKU, spend sync, and promotion-type breakdowns.

The Problem

You're spending money on TikTok ads, but you can't answer the basic question: which SKUs are actually profitable after ad spend? TikTok Ads Manager shows campaign-level ROAS, but it doesn't connect to your actual product margins. A campaign with 5x ROAS might still be losing money if the promoted SKU has thin margins and high return rates.

Since July 2025, TikTok Shop advertising has consolidated into a single campaign type: GMV Max. The old campaign types — Smart+, Manual, Integrated — are no longer available for TikTok Shop sellers. GMV Max uses TikTok's algorithm to automatically optimize ad placement, bidding, and creative selection to maximize gross merchandise value.

This simplification is good for sellers (less knob-turning), but it also means the reporting API exposes a rich multi-dimensional dataset. There are no ad groups, but you get 6 levels of granularity: Campaign → Product → Creative → Livestream → Duration → Hourly. Each dimension answers a different operational question.

Understanding GMV Max

Two Promotion Types

GMV Max campaigns come in two flavors based on what they promote:

  • Product GMV Max: Promotes product listings in the For You feed, search results, and the Shop tab. Best for catalog-driven sellers with many SKUs.
  • LIVE GMV Max: Drives traffic to your TikTok LIVE sessions. Best for sellers who do regular live selling events.

Six Reporting Dimensions

GMV Max exposes performance data across 6 dimensions, each answering a different question:

  • Campaign level: Overview per campaign — spend, GMV, ROAS, CPC, CPM, conversion rate.
  • Product level: Per SPU (item_group_id) — which products are getting spend and generating returns.
  • Creative level: Per video/post — completion rate funnels (2s, 6s, 25%, 50%, 75%, 100%), engagement metrics, and ROI per creative asset.
  • Livestream level: Per live session (LIVE type only) — session-level ROI and viewer-to-buyer conversion.
  • Duration level: Per optimization mode period — compares performance across Target ROI vs Max Delivery phases within a campaign.
  • Hourly level: 24-hour breakdown for time-of-day analysis — identify peak conversion windows.

What You Don't Get

GMV Max does not expose:

  • Ad group level data (there are no ad groups in GMV Max)
  • Audience segment breakdowns (the algorithm handles targeting)
  • Placement-level reporting (feed vs search vs shop tab)

But you do get creative-level performance (per video/post with completion funnels) and duration-level comparison (before/after optimization mode switches). Your analysis can go deep on which creatives drive conversions, which products justify their spend, and which optimization mode works best for each campaign.

The Manual Way

  • Export campaign reports from TikTok Ads Manager as CSV
  • Cross-reference item_ids with your product catalog to get SKU names
  • Manually calculate ROAS per SKU by matching ad spend to order revenue
  • Compare against your cost sheet to determine if the ROAS actually covers your margins
  • Repeat daily — ad spend data is only meaningful with consistent time-series tracking

This breaks down quickly. Ad spend data needs to be matched against settlement-based profit (not just revenue), and it needs to be tracked daily to spot trends. A SKU that was profitable last week might be burning cash this week if the algorithm shifted spend.

The AxonRow Way

Ads Analytics is available as an add-on to the Pro plan at $20/mo per shop (or $200/yr — save 2 months). You enable it per shop from Settings → Billing, and only shops with the add-on active will sync and display ad data. Your ads account OAuth connection stays intact regardless — enabling or disabling the add-on just controls data sync and access.

Automated Spend Sync

AxonRow connects to your TikTok Ads account via OAuth and syncs spend data automatically. Each advertiser account syncs all 6 dimensions daily across both promotion types, plus hourly granularity for the previous day.

Daily data uses a T-7 backfill window — TikTok's attribution model can adjust conversion data up to 7 days after the click, so we re-pull the last week every sync to ensure accuracy. On first connection, AxonRow pulls 30 days of historical data so you have immediate context. You can query up to 90 days of history in the dashboard. Each ads account shows a last-synced timestamp in the UI so you always know how fresh your data is.

Each ads account is linked to a specific TikTok Shop. If you have multiple shops with separate ads accounts, each syncs independently with its own timezone-aware schedule.

The Ads Tab

The /ads section gives you 6 sub-pages, each mapping to a reporting dimension:

  • Overview: Top-line KPIs with a PRODUCT vs LIVE split, plus daily and hourly trend charts for spotting patterns at a glance.
  • Campaigns: Sortable table with status filter (active/paused/all). Expand any campaign to see duration comparison — how performance shifted between optimization modes.
  • Products: SPU-level Profit ROAS table with inline sparklines showing 14-day trends, plus a spend-vs-return scatter plot for visual pattern recognition.
  • Creatives: Video completion funnel (2s → 6s → 25% → 50% → 75% → 100%), ROI leaderboard per creative, and side-by-side comparison to find your best-performing content.
  • Livestreams: Per-session ROI for LIVE campaigns. See which streams converted viewers into buyers and which fell flat.
  • Duration: Timeline visualization of optimization mode switches (Target ROI vs Max Delivery), with before/after KPI comparison to measure the impact of each change.

How to Read Each View

Each sub-page answers a specific operational question. Here's what to look for:

  • Campaigns: Sort by ROI descending. Campaigns below 2x ROI with significant spend deserve attention — either the target ROI bid is too aggressive or the product mix needs adjustment.
  • Products: Look at the sparklines first. A SPU with a downward-trending Profit ROAS over 5+ days tells you more than any single-day number. On the scatter plot, dots in the bottom-right quadrant (high spend, low return) are your biggest leaks — hover to see which SPU it is.
  • Creatives: Watch the completion funnel drop-off. If 2s view rate is high but 6s drops sharply, your hook works but the content doesn't hold. If 75% completion is strong but conversions are low, the CTA or product-market fit is the issue, not the creative.
  • Livestreams: Compare viewer-to-buyer conversion across sessions. Consistent low conversion with high spend suggests the algorithm is sending traffic but the live content isn't closing.
  • Duration: After switching from Target ROI to Max Delivery (or vice versa), give it 3-5 days before judging. Compare the before/after KPIs — if ROI dropped more than 20% after switching to Max Delivery but spend tripled, calculate whether the absolute profit increased. Sometimes lower ROI at higher volume is the better outcome.
  • Hourly: Identify your peak conversion windows. If conversions cluster between 7-10 PM but your budget runs out by 3 PM, consider adjusting your daily budget or campaign schedule.

SKU Profit Attribution

This is where AxonRow adds value beyond what Ads Manager shows. TikTok's platform ROI is revenue-based — it doesn't account for commissions, logistics fees, refunds, or your COGS. A campaign showing 5x ROI might actually be losing money once you subtract the 40-60% that TikTok and logistics take from each order.

AxonRow calculates Profit ROAS per SPU by combining ad spend data with settlement-based profit from your order history. For each product in the same time window:

  • Ad Spend — how much you spent promoting this SPU (from Marketing API)
  • Actual Profit — what you actually kept after all fees and costs (from Finance API settlement)
  • Net Contribution — Actual Profit minus Ad Spend. The number that matters.
  • Profit ROAS — Actual Profit ÷ Ad Spend. Below 1.0 means you're paying more in ads than you're earning.

Reading the Product View

The Products page presents this data visually so patterns emerge without needing labels or rules:

  • Table with sparklines: Each SPU row shows a 14-day Net Contribution sparkline. A declining trend over 5+ days is a signal — you don't need a "warning" badge to notice it.
  • Color-scaled Profit ROAS: The number itself shifts from red through yellow to green on a continuous scale. No thresholds, no categories — your eye naturally gravitates to the reds.
  • Spend proportion bars: Mini horizontal bars in the Ad Spend column show relative allocation. If 60% of your budget goes to one SPU, you'll see it immediately.
  • Scatter plot: X-axis is Ad Spend, Y-axis is Profit ROAS, dot size is GMV volume. Bottom-right quadrant = high spend, low return. Top-left = efficient but small. The shape of your cluster tells you whether you have a portfolio problem or a single-SKU problem.

Click any SPU to expand its daily Profit ROAS trend line overlaid with a spend bar chart. This shows you when things changed — did the algorithm shift spend to this SKU three days ago? Did a price change kill your margin? The trend tells the story.

Connecting Ads to Your Agency Dashboard

For agencies managing multiple shops, ad spend data rolls up into the portfolio view. You can compare ROAS across shops, identify which clients are over-spending relative to their margins, and spot opportunities where a small increase in ad budget could unlock disproportionate growth.

The weekly and monthly automated reports include an ad performance section with top campaigns, spend trends, and ROAS by promotion type — so your clients stay informed without needing dashboard access.

Connecting Your Ads Account

To enable ad analytics, you need to connect your TikTok Ads account:

  1. Go to Settings → Ad Accounts in your AxonRow dashboard
  2. Click "Connect TikTok Ads" — this initiates an OAuth flow with TikTok's Marketing API
  3. Authorize both your TikTok Shop and Ads account (dual authorization is required for agencies managing shops on behalf of sellers)
  4. Select the advertiser account to link (you may have multiple under one Business Center)
  5. AxonRow automatically detects which TikTok Shop is linked to the ads account
  6. The first sync pulls 30 days of historical data; subsequent syncs run daily with T-7 backfill

If your team members need to connect their own ads accounts (e.g., each seller manages their own ad budget), admins can send an Ads Connection Invite via email. The recipient clicks the link, authorizes both their Shop and Ads accounts, and the data flows into the shared dashboard automatically.

What AxonRow Does Not Do

  • Campaign management: AxonRow is analytics-only. You still create, pause, and adjust campaigns in TikTok Ads Manager.
  • Budget optimization: We show you which SKUs are profitable after ad spend, but we don't automatically adjust budgets. That's your decision.
  • Non-Shop ads: AxonRow only tracks ads linked to TikTok Shop (GMV Max). Brand awareness campaigns, app install campaigns, or traffic campaigns without Shop attribution are not synced.

Checklist

  • Upgrade to Pro plan if you haven't already — Ads Analytics requires Pro
  • Enable the Ads Add-on for the shop(s) you want to track (Settings → Billing → Add Ads)
  • Connect your TikTok Ads account via OAuth in Settings → Ad Accounts (authorize both Shop and Ads)
  • Wait for the initial 30-day backfill to complete (usually takes a few minutes)
  • Check the Ads Overview page — confirm the PRODUCT vs LIVE split matches your campaign mix
  • Review the Products page — look at the sparklines and scatter plot for spend-vs-return patterns
  • Check the Creatives page — find your top-performing videos by completion funnel and ROI
  • Use the Duration page to compare Target ROI vs Max Delivery performance for active campaigns
  • For agencies: verify each client's ads account is linked to the correct shop via dual authorization
  • Set up the weekly report to include ad performance metrics for stakeholder visibility