Audit TikTok ad account [account name] at ad group level for the last 30 days. Include Smart+ campaigns, because they do not appear in the standard campaign list. Pull them with list_tiktok_smart_plus at CAMPAIGN and ADGROUP level.
Get performance with tiktok_report_query: report_type BASIC, data_level AUCTION_ADGROUP, dimensions ['adgroup_id'], with spend, impressions, ctr and the purchase metrics (purchase count, purchase value, ROAS, cost per purchase). If Smart+ ad groups do not come back at ad group level, report them at campaign level (AUCTION_CAMPAIGN). Mark those rows "Smart+, campaign level" so they are not mixed up with standard ad groups.
For every ad group with spend, show: campaign, ad group, optimization goal and event (from list_tiktok_adgroups), spend, impressions, CTR, purchases, purchase value, ROAS and cost per purchase.
Then sort them into buckets using my target ROAS of [target ROAS]:
- Scale: ROAS at least 20% above target and spend above [minimum spend]
- Hold: ROAS within 20% of target
- Fix or cut: ROAS more than 20% below target, or spend above 2x the account's average cost per purchase with zero purchases. Calculate the average as total spend divided by total purchases.
Deliverable: one table sorted by spend. Add a total row with blended ROAS (total purchase value divided by total spend).
Then, for each "Fix or cut" ad group, write one line on the most likely cause. Base it on the settings returned by list_tiktok_adgroups (optimization goal and event, bid type and bid price, locations, ages, interests, audiences) and on the number of enabled ads from list_tiktok_ads. Possible causes: wrong optimization event, too narrow or too broad audience, bid cap, or too few active ads. If a setting is not visible in the data, say so and treat the cause as a hypothesis, not a finding.
Separately, list any ad group that optimizes for clicks, landing page views or add to cart instead of purchase.
This is a read-only audit. Do not change anything.
A themed table of money-wasting search terms with ready-to-apply negatives and projected savings, applied only after you approve.
When to use itWhen you feel your Google Ads budget is going to searches that never convert, such as jobs, free, DIY or the wrong location, and you want them blocked safely.
A pass/fail check of your conversion setup across Google Ads, GA4 and Tag Manager, with the fixes that stop Smart Bidding from optimising toward the wrong action.
When to use itWhen your CPA or conversion numbers look off, or before you change bids or budgets, and you are not sure your conversion tracking is counting the right things.
A per-ad-group checklist of ad strength, underperforming headlines, policy issues and extension gaps, plus draft replacement copy.
When to use itWhen your Google Ads ads have low ad strength, disapprovals, poor CTR or missing sitelinks and callouts, and you want clear fixes with ready replacement copy.