Ads Insights sorts every ad set in one ad account into a call (Scale, Keep, Untested, Bench or Off) by comparing its cost per lead with a ceiling you set. Use it once a week to decide which sets get more budget and which get paused.
Before you begin
Connect the ad account and let it sync. See Connect ad accounts and read performance.
Know your break-even cost per lead. The ceiling is your number; granvl never picks it for you.
To judge on qualified leads instead of platform conversions, set up qualification first. See Qualify leads and track what happens next.
Open Ads Insights
Open Meta Ads or Google Ads in the sidebar.
Pick the ad account from the account menu.
Click Insights.
Insights always shows one account. Switch accounts from the menu in its header, and pick the window with 7 days, 14 days or 30 days.
Set your criteria
Criteria are saved per ad account. Until you set a ceiling, Insights lists every ad set but doesn't sort them into calls.
Click Set criteria.
Enter your Cost-per-lead ceiling, in the account's currency.
Under A lead is, choose the platform-reported conversion or a qualified lead (your CRM's word).
Adjust the other numbers if you want to (defaults below).
Click Save criteria. Every ad set is judged again right away.
Setting | Default | What it does |
Leads needed to scale | 3 | Leads in the last 7 days, at or under the ceiling, before a set is called Scale |
Raise the budget by (%) | 20 | How much Approve raises a set's daily budget |
Days between raises | 2 | A set that was just raised waits this long before the next raise |
Untested below (impressions) and Within the first (days) | 500 impressions, 3 days | A new set below this is Untested and is never called Off |
Leave the ceiling empty to stop sorting. Saving criteria changes nothing on the ad platform.
Read the page
Cost tiles: Cost per lead (platform-reported), Cost per granvl lead (granvl-tracked) and Cost per qualified lead, for the window you picked. The tile your rule judges by is highlighted.
Cost per lead chart: the last 30 days as a 3-day rolling average, with lines for the platform's count, granvl's count, qualified leads and your ceiling.
Scatter: every ad set by 7-day spend against cost per qualified lead. Bigger dots spent more. Dots pinned to the top edge have no qualified lead yet. Colors show under 80% of the ceiling, between 80% and the ceiling, and over it.
Bars: cost per qualified lead by ad set, worst first.
Table: every ad set that spent in the last 30 days, grouped by call. Meta CPL (or Google CPL), granvl CPL and Qualified CPL are for the last 7 days, with the lead count under each. Spent is the last 7 days; Age is days since the set first spent.
Hover an ad set's name, or open its menu (the three dots at the end of the row), to read the reason for its call. Use All calls to show one group, Columns to hide columns, and Ads to see each ad with its ad set's call. Campaigns takes you back to the Meta Ads or Google Ads page.
What each call means
Each ad set gets one call, checked in this order. The first one that matches wins.
Call | When | What to do |
Untested | Fewer impressions than your untested limit, and still within its first days | Wait. Untested sets are never called Off |
Bench | A fading winner: cost per lead at or under the ceiling over 30 days, but in the last 7 days it spent at least one ceiling's worth with no lead or a cost per lead over the ceiling | Pause it to rest it |
Off | Over the ceiling (or no lead) on both the 7-day and 30-day windows, after spending at least one ceiling's worth in 7 days. A set that is already paused also lands here | Pause it |
Scale | At least your Leads needed to scale in 7 days at or under the ceiling, and not raised within Days between raises | Approve a budget raise |
Keep | Everything else | Leave it running |
The Bench and Off groups also show the whole group's combined cost per qualified lead.
Act on a call
Insights only shows calls. Nothing happens on the platform until you act:
Delivery switch: the switch on each row pauses the set or switches it back on, on Meta or Google, right away.
Pause set: on Bench and Off rows, and in the row's three-dot menu. granvl asks you to confirm.
Approve +20% (or your percentage): on Scale rows for Meta ad sets. It raises the set's daily budget once you confirm. Your Ad Guardrails still apply, and a set that has no daily budget of its own can't be raised this way.
Budget raises from Insights are Meta-only. On Google Ads, change budgets from the Google Ads page.
Run a weekly review
Open Insights on the 7 days window.
Approve the Scale sets you agree with.
Pause the Off sets, and the Bench sets you want to rest.
Leave Untested sets alone until they've had enough impressions.
Check the cost tiles against your ceiling, and adjust the criteria if your break-even changed.
Your agent can walk you through the same review:
Do my weekly ad set review for the Meta account. Group the ad sets by call,
explain each one, and tell me which budgets you'd raise and what you'd pause.
