TL;DR
Manual ROAS tracking in Ads Manager works for single-account advertisers with 1–3 campaigns. It breaks down at scale: cross-campaign ROAS comparison requires custom column exports, multi-account reporting requires separate logins, and there is no alerting when ROAS drops below target. AdAdvisor automates ROAS tracking via the Meta Marketing API and delivers results in plain language. For teams running 4+ ad sets or multiple accounts, AdAdvisor eliminates the manual reporting overhead.
Key takeaways
Manual ROAS tracking is free and accurate for accounts running fewer than 5 active ad sets. Manual tracking has no cross-account view and no alerting. Both limitations compound daily as accounts scale. AdAdvisor retrieves ROAS via the Meta Marketing API through plain-language queries and threshold alerts.
Most advertisers start with manual ROAS tracking because it is free, accurate, and built into Ads Manager. The question is not whether it works. The question is whether it works efficiently as account complexity grows. This comparison covers both approaches with enough specificity to make the choice clear.
What Is ROAS? Complete Guide
New to ROAS? Start here before evaluating tracking tools.
Read moreWhat is ROAS tracking?
ROAS tracking is the ongoing process of monitoring how much revenue each dollar of ad spend generates, tracked at the campaign, ad set, or ad level. Advertisers track ROAS to identify which campaigns are profitable, which are spending below breakeven, and where to reallocate budget. It can be done manually inside Meta Ads Manager or automatically via an API-connected tool.
The Three Stages of ROAS Tracking
How advertisers track ROAS follows a predictable pattern as account complexity grows. Understanding which stage you're in determines which method makes sense.
The Three Stages of ROAS Tracking
| Stage | Account structure | Method |
|---|---|---|
| Stage 1 - Single account | 1 account, 1–4 ad sets | Ads Manager natively - no exports needed |
| Stage 2 - Multi-campaign | 1 account, 5–10+ ad sets | Ads Manager + manual CSV exports for cross-campaign comparison |
| Stage 3 - Multi-account | 2+ accounts, any number of ad sets | API-powered tracking - manual exports no longer practical |
Most advertisers stay in Stage 1 or 2 longer than they should, absorbing reporting overhead that grows linearly with account count. The stage thresholds above reflect common industry practice, not official Meta recommendations. The decision to move to Stage 3 is not about preference. It comes down to whether the time cost of manual reporting exceeds the cost of automation.
Key insight
ROAS tracking doesn't become inaccurate at scale. It becomes expensive.
How to Measure and Track ROAS in Meta Ads Manager
Manual ROAS tracking in Meta Ads Manager is the default method for Stage 1 and Stage 2 advertisers. For accounts with one or two campaigns, it covers most reporting needs.
The Purchase ROAS column is available in Ads Manager by default. To add it: Ads Manager > Campaigns > Columns > Customize Columns > search "Purchase ROAS." This shows revenue per dollar of ad spend at the campaign, ad set, or ad level.
Attribution window: Ads Manager defaults to 7-day click / 1-day view attribution. A purchase is credited to your ad if it occurred within 7 days of a click or 1 day of an impression. Changing the attribution window requires reconfiguring your column setup and re-pulling reports. It does not update historical data retroactively.
Exporting for cross-period comparison: For week-over-week or month-over-month ROAS comparison, use Ads Manager > Reports > Create Report, set your date range, and download the CSV. Manual but accurate.
For single accounts running fewer than 5 active ad sets, this workflow is sufficient.
Where Manual ROAS Tracking Breaks Down
The problem
The problem with manual ROAS tracking isn't data quality. It's reporting overhead.
Ads Manager reports accurate ROAS regardless of how many accounts you run. The issue is the time required to retrieve, consolidate, and act on that data as account complexity grows. Four limitations become operational problems at Stage 3:
1. No cross-account ROAS view. Ads Manager is scoped to one ad account per login. Agencies or advertisers managing multiple accounts must export from each account separately, then consolidate in a spreadsheet. At 3+ accounts, this becomes a daily maintenance task rather than a reporting tool.
2. No alerting. There is no native way to receive a notification when an ad set's ROAS drops below your target. You have to check manually, which means a ROAS drop can go undetected for days if you miss a review.
3. Attribution window comparison requires duplicate reports. Comparing 1-day click ROAS to 7-day click ROAS for the same period requires pulling two separate exports and aligning them manually. This matters when evaluating campaign incrementality or reconciling Meta-reported conversions against your actual revenue data.
4. Historical comparison is time-consuming. Pulling ROAS for a custom date range across multiple ad sets requires fresh column configuration each time. Ads Manager has no saved ROAS report with historical trend data built in.
Reporting overhead at 10 accounts (estimated)
Monthly labor cost at U.S. media buyer rates (varies by experience)
These limitations are manageable at 1–2 accounts. At 5+ accounts or 10+ active ad sets, the overhead compounds every day. To illustrate the scale: a media buyer managing 10 accounts who spends 3–5 minutes per account on daily ROAS exports and consolidation reaches 30–45 minutes per day, roughly 15 hours per month. At U.S. media buyer rates of $50–$100/hour (which vary significantly by experience and location), that represents an estimated $750–$1,500/month in time spent on reporting rather than optimization. Actual time varies by account complexity and existing workflow.
The inflection point
Once reporting consumes more time than optimization, the tracking workflow is broken.
At five accounts the reporting was fine. At ten it became its own job. Cross-account ROAS reporting was the first thing we automated.
How AdAdvisor Tracks ROAS
AdAdvisor connects to Meta's Marketing API, specifically the ads_insights endpoint, and retrieves ROAS data at campaign, ad set, and ad level. The core relationship: AdAdvisor connects to the Meta Marketing API, which surfaces the Purchase ROAS metric, via an MCP-based AI integration.
AdAdvisor works as a conversational ROAS dashboard. Instead of configuring columns in Ads Manager, you query your ROAS data in plain language and receive a structured report. This applies equally to single-account and multi-account portfolios.
Plain-language queries replace manual column setup:
- "Show me ROAS by ad set for the last 7 days, sorted lowest to highest"
- "Which campaigns have ROAS above 4x this month?"
- "Compare ROAS for this week vs last week across all accounts"
Each query returns a formatted report without navigating Ads Manager column configurations.
Threshold alerting: Set a minimum ROAS target per account or ad set. AdAdvisor flags any ad set that falls below threshold. You receive the alert instead of having to discover the drop manually.
Cross-account queries: One query returns ROAS across all connected ad accounts simultaneously, without multiple logins, manual exports, or spreadsheet consolidation.
Attribution on request: "Show me ROAS using 1-day click attribution for the last 14 days" returns the adjusted number without reconfiguring your Ads Manager column view.
What AdAdvisor Setup Actually Looks Like
AdAdvisor Setup
Connect your Meta ad account to AdAdvisor
Link the ad accounts you want to track. Multi-account setup requires connecting each account separately.
Grant ads_management permission in Business Manager
This gives AdAdvisor read access to your campaign and performance data via Meta's Marketing API.
Set your ROAS threshold
The floor below which you want to be alerted. You can set this per account or per ad set.
Run your first query
"Show me ROAS by ad set for the last 7 days" — your first cross-account ROAS report, with no column configuration required.
Expected setup time: 15–30 minutes for users familiar with Meta Business Manager permissions. Non-technical users or those working with complex multi-account structures may need additional time or support.
AdAdvisor vs Manual ROAS Tracking: Head-to-Head
AdAdvisor vs Manual ROAS Tracking Comparison
| Feature | Manual (Ads Manager) | AdAdvisor |
|---|---|---|
| Cost | Free | Subscription |
| Setup time | None | 15–30 minutes |
| Single-account ROAS | Full support | Full support |
| Multi-account ROAS | Manual export required | Single query |
| ROAS dashboard view | No persistent view | Query any time |
| ROAS alerting | No native alerting | Threshold alerts |
| Plain-language queries | Not available | Available |
| Attribution window flexibility | Manual reconfiguration | On-request |
| Historical trend comparison | Manual date range exports | Query-based |
Which Approach Is Right for Your Team?
Use manual ROAS tracking if:
- You manage a single ad account with fewer than 5 active ad sets
- You check performance weekly and daily alerting adds no workflow value
- Budget constraints rule out a paid tool subscription
Use AdAdvisor if:
- You manage 2 or more ad accounts simultaneously
- You run 5+ active ad sets and need cross-account ROAS in a single view
- You want threshold alerts rather than scheduled manual checks
- Your team prefers issuing reporting and management commands in plain language over navigating Ads Manager
Scale is the deciding factor. A solo advertiser running one account with three campaigns loses nothing by using Ads Manager natively. An agency media buyer managing 10 client accounts loses approximately 30–45 minutes per day to manual ROAS exports and cross-account reporting. That is the overhead AdAdvisor's API layer removes.
Frequently Asked Questions
Summary
Manual ROAS tracking in Ads Manager is accurate, free, and the right choice for Stage 1 and Stage 2 advertisers. When you move to multiple accounts, 5+ active ad sets, or need threshold alerting, the manual approach creates compounding ROAS reporting overhead across every account in the portfolio. At U.S. media buyer rates of $50–$100/hour (rates vary significantly by role and location), 15 hours per month of reporting overhead represents an estimated $750–$1,500 in labor before a single optimization decision is made.
The threshold
If you're spending more than 30 minutes per week exporting ROAS reports, you've already crossed the threshold where automation becomes cheaper than manual reporting.
Related reading
What Is ROAS? Meaning, Formula, and Benchmarks
The foundational guide to ROAS: definition, formula, worked examples, and what counts as a good ROAS by channel.
Read moreHow to Use Meta Ads Reports to Decide When to Reallocate Budget
The three Meta Ads reports that drive budget decisions, with specific rules for when to move spend and when to wait.
Read moreImplementation note
Apply FAQPage schema markup to the Frequently Asked Questions section, and Article schema to the page (include dateModified: 2026-06-17). This is required for AI Overview and featured snippet eligibility.




