The setup flow
Setup runs in four steps. You can leave and come back — progress is saved, and Configure is where you finish anything outstanding.1
Add your landing pages
Add every URL your ads point to — your homepage, product pages, and any dedicated landing pages. The agent only audits traffic to pages it knows about.
2
Connect ad accounts
One-click OAuth with read-only access. The agent starts scanning historical spend as soon as you connect.
3
Install tracking pixel
Add the pixel to each landing page via Google Tag Manager, Shopify, or raw HTML. See Install pixel.
4
Verify pixel install
Dash.fi pings each landing page to confirm the pixel is firing. Events usually register within two to three minutes, but can take up to 24 hours on cached or low-traffic sites.
Connect an ad account
- Go to Agents → Advertising → Configure
- Open Websites & Accounts
- Find the landing page you want to cover and click Connect
- Sign in to Meta or Google and approve read-only access
- Pick the ad account to connect when you’re returned to Dash.fi
Connect with a user who has access to the ad account in question. Read-only access to Dash.fi is enough for reporting, but Meta permission checks fail for a user who isn’t on the ad account — see Still showing TOS pending.
Accept Meta’s custom audience terms
Meta ad accounts need one extra step. To exclude invalid traffic from your campaigns, Dash.fi builds a Meta custom audience — and Meta requires you to accept its Custom Audience Terms of Service before any account can use one. Until you do, the account shows TOS pending in Configure, or a prompt reading “Accept the custom audience terms to start excluding traffic” during setup. The agent still audits your spend, but exclusions can’t be applied.1
Open the terms link in Dash.fi
Click the TOS pending link next to the account. It opens Meta’s terms page for that specific ad account.
2
Accept the terms on Meta
Review and accept. This happens on Meta, not in Dash.fi.
3
Come back and click Re-check
Return to Dash.fi and click Re-check next to the account. Dash.fi asks Meta whether the terms are now accepted and updates the status.
Still showing TOS pending
If the status hasn’t changed after accepting, work through these in order.
If it still shows pending after all three, ask support to check it against Meta directly — they can see how Meta is answering for your account.
Traffic exclusions
Once terms are accepted, the agent can proactively block invalid traffic sources — bots, click farms, and competitor clicks — before they spend your budget, rather than only reporting them after the fact. Go to Agents → Advertising → Exclusions to see every campaign with an exclusion applied, along with the savings each one is accruing. Everything on the view covers a fixed Last 30 days window, shown as a label where other views have a timeframe selector. There’s no timeframe to change here. Exclusions work on both Meta and Google campaigns. Only the Meta side depends on the custom audience terms.Reading the savings figures
Each campaign shows a monthly savings figure. How that figure was produced depends on how much of the 30-day window the campaign actually ran:- Full window — the campaign has 30 days of data, and the figure is its measured savings for the month.
- Extrapolated — the campaign ran for only part of the window, so Dash.fi scales its savings up to a monthly rate. An info icon next to the figure tells you how many days of data it’s based on.
- Ended campaigns — a finished campaign has no monthly rate to project, so the row shows what invalid traffic actually cost it instead, labelled invalid traffic cost rather than projected savings. An info icon states the number of days the figure covers.
Toggling a campaign’s exclusion
Each campaign has a toggle: turning it off disables that campaign’s exclusion and stops it accruing savings. Toggling a Meta campaign asks you to confirm first. Changing the audience on a Meta campaign can send its ad sets back into the learning phase, and while Meta relearns, delivery and cost per result are usually less stable for a few days. Cancel and the toggle reverts; confirm and the change is applied. Google toggles apply immediately — Google’s learning period belongs to Smart Bidding, and a negative audience change doesn’t reset it.Negative audience warnings
A warning icon next to a campaign’s toggle means the negative audience behind its exclusion isn’t fully in effect:- Undersized audience — the audience hasn’t reached the minimum size the ad platform requires. You can still enable exclusions, but they won’t take effect until the audience is big enough.
- Unavailable audience — on Google, the negative audience list has been closed in Google Ads; on Meta, the platform is reporting an unrecognized status for the audience. Either way, exclusions may not be taking effect for that campaign.
Manage connected accounts
Agents → Advertising → Configure → Websites & Accounts lists every landing page with the ad accounts auditing it. From here you can connect another account, accept outstanding terms, re-check a status, or remove an account with the trash icon. Removing an account stops the agent auditing that account’s spend. Your existing findings and claims aren’t deleted.Where to find everything
Overview, Exclusions, and Credits stay empty until setup is finished and traffic is flowing. Configure is always available.
FAQ
I accepted the custom audience terms but Dash.fi still says I haven't
I accepted the custom audience terms but Dash.fi still says I haven't
Click Re-check next to the account in Configure → Websites & Accounts. Dash.fi stores the result of its last check rather than polling Meta, so the status stays as it was until you re-check. If it still shows pending afterwards, see Still showing TOS pending — the usual causes are accepting on a different ad account, or the connected Meta user not having access to the one you’re accepting for.
Do I need to accept the terms for every ad account?
Do I need to accept the terms for every ad account?
Yes. Meta ties custom audience terms to each ad account individually, so accepting for one doesn’t carry over. Each connected Meta account shows its own TOS pending status until you accept for that account and re-check.
Does the agent still work without the custom audience terms?
Does the agent still work without the custom audience terms?
Partly. Auditing, invalid traffic detection, and credit recovery all run without them. Only exclusions need the terms — without them the agent can report invalid traffic but can’t block it before it spends your budget.
What access does Dash.fi get to my ad accounts?
What access does Dash.fi get to my ad accounts?
Read-only. The agent reads spend and campaign data to audit it. The one thing it writes is the custom audience used for exclusions, which is why Meta asks you to accept its terms first.
Why is my Overview empty after connecting an account?
Why is my Overview empty after connecting an account?
Overview, Exclusions, and Credits need setup finished and traffic flowing. Confirm the pixel is installed and verified on each landing page, then give it time — pixel events usually register within two to three minutes but can take up to 24 hours on cached or low-traffic sites.