Skip to content

Who Owns the Leads Your Agency Generates? Check the Permissions Table, Not the Contract.

Your lead generation contract says the leads are yours. The platform permissions say otherwise, and the permissions are the part that actually runs.

Ownership of the leads your agency generates is decided by account access, not by an agreement. Google Ads will not let an agency manager account download leads from a client account unless that client account grants the manager account ownership, and it deletes lead form leads after 60 days either way. Meta puts it in a single line of its own developer documentation: all leads generated via a lead ad belong to the Page. If the ad account and the Page are your agency's, the leads are your agency's too, whatever the signature page says.

I build the plumbing that moves leads out of ad platforms and into systems the client controls, and this is the problem I get called about after a relationship ends, never while it is going well.

A lead you cannot export yourself is not an asset. It is a screenshot with an expiry date.

The mistake: ownership written in the contract and nowhere else

The handover usually looks generous. A monthly report, a CSV attached to an email, a login to a dashboard, a Slack channel where every new lead pings. Nobody is hiding anything. The buyer reads all of that as proof the leads are theirs, and it is proof of nothing, because a report is a copy and the record still sits in an account somebody else administers.

The bill arrives at one of two moments. The first is the end of the relationship, when the agency turns off the ads, and the forms, the audiences, the conversion history and every lead that ever filled one in go with them. The second is quieter and more expensive. Eighteen months in, you decide to work the people who filled in a form and never bought. You go to pull the list. Most of it was deleted by the platform long ago, because nobody wired an export and everybody assumed the platform was the archive.

Neither of those is a trust problem. I have watched it happen with agencies that did excellent work and behaved well on the way out. It is a plumbing problem, and plumbing is decided before the first campaign, not during the last one.

What the handover usually promises

"You get a full report every month and a CSV of every lead. Total transparency, nothing held back."

Both true, and neither one gives you the record. You are being handed copies of a file you cannot open yourself.

What to ask for instead

"The forms run in my ad account and my Page, you have access to both, and every lead hits my CRM the second it is submitted."

Same agency, same work, same reports. The difference is which side of the fence the original sits on.

Google Ads already answered this, in a permissions table

Google publishes the answer on its Download leads help page, and it is more direct than most agency contracts. The page opens with the deadline: "Since leads expire after 60 days, ensure you download them frequently." Sixty days is the whole life of a lead form record. The self serve CSV is shorter still, because the lead form assets page states you can only download leads from the last 30 days. The Google Ads API will hand you up to 60 days, and a webhook or a supported integration gets each lead in real time.

Then comes the access chart, which is the part worth reading twice. Downloading leads at all requires Standard or Admin access. Billing, Email only and Read only cannot download leads, on any account type. And the line that decides the ownership question: if you have a manager account, you can only download leads from a client account if the client account gives you ownership. A manager account with full Admin access and no granted ownership sits in the one row of that table with a red cross next to it.

Read that from the buyer's chair and it inverts the usual worry. The agency working inside your account, through its own manager account, cannot pull your leads unless you hand it something. The agency running your campaigns from its own account has the leads and you have the report. Whichever of those you are in, you now know, and it took one help page rather than a lawyer.

60
days Google Ads stores lead form leads before they expire, per its own Download leads page
30
days of leads you can pull yourself in a CSV, which is half the storage window
$2,497
the published starting price of our build, with the managed programme at $1,997 a month

Meta answered it in one sentence: the leads belong to the Page

Meta's lead ads documentation for developers lists the Facebook Page as a requirement and explains why in seven words: all leads generated via a lead ad belong to the Page. The same page adds that if you run the ad on Instagram, the leads generated still belong to the Facebook Page. Not the ad account, not the agency, not the person who built the form. The Page.

That single sentence resolves an argument I have refereed several times. If your agency created the Page, or created the business portfolio that holds it, then getting your leads out is not a data export. It is a negotiation, and you are the one asking. Access can be arranged, because Meta lets Page admins customise who may download leads through the Leads Access Manager, and its documentation notes that where leads access has not been customised, all Page admins have it. Arranged access is still somebody else's setting though, and settings get changed.

The other reason to sort this out early is that the clean fix is not a same day job. A custom integration that reads leads through the API needs an app that has passed App Review with the leads retrieval and Pages manage ads permissions, plus Business Verification. That is a project. Doing it while you are mid argument about who owns what is the worst possible time to start.

Three moves before your next campaign goes live

Your ad account
Your Page
Webhook on day one
Your CRM holds the original
01
Create the accounts in your name, then grant access
The Google Ads account, the Meta business portfolio and the Facebook Page get created by you, on your billing, under your email domain. Your agency is added as a user or a linked manager account. This costs nothing and takes an afternoon before launch, and it is close to impossible to unwind afterwards. A good lead generation partner will suggest it before you do, because it removes the ugliest conversation the relationship can have.
02
Wire the webhook before the first ad runs, not at offboarding
Every lead should be written into a system you control within seconds of submission. Google Ads supports webhooks, the API and a set of named integrations; Meta sends a real time notification on every new lead and lets you fetch it from the Graph API. Where those leads land matters as much as the fact that they land, so decide whether your CRM is holding the record or merely displaying it. A shared spreadsheet is not a record.
03
Reconcile the counts every month, and treat a gap as an outage
Compare the lead count the platform reports against the rows that arrived in your system. They should match. When they do not, a webhook has been quietly failing, and on Google Ads you have 60 days to find out before the originals are gone for good. This is a five minute automated check that emails you the two numbers, and it is the single cheapest piece of insurance in the whole setup.

The bottom line

Ask a lead generation agency who owns the leads and you will get a sincere yes. Ask which account the form lives in, which Page it belongs to, and where the lead is written within ten seconds of submission, and you will get the real answer. Those three questions take a minute and they settle the thing your contract only gestures at.

None of this is a reason to run outbound in house. Agencies are better at this than most teams will ever be, and the good ones will happily build inside your accounts. It is a reason to spend one afternoon on setup before you spend a year on spend.

I build this layer as a fixed scope engagement: the accounts structured in your name, the forms and webhooks wired into a system you own, and the outbound programme running on top of it. Builds start at $2,497 and the managed programme runs $1,997 a month, normally sending in about 14 days. Who I am.

Book a 30 minute call: cal.com/zeeshanwaheed/30min or email [email protected].

Frequently Asked Questions

Whoever controls the account the leads were captured in. Meta's lead ads documentation states that all leads generated via a lead ad belong to the Page, including leads from ads shown on Instagram. Google Ads requires Standard or Admin access to download leads at all, and a manager account can only download leads from a client account if that client account grants it ownership. A contract clause saying the leads are yours does not change either setting, so check the accounts first and the paperwork second.
Sixty days. Google's Download leads help page says leads expire after 60 days and advises downloading them frequently. The manual CSV export is narrower again, covering only the last 30 days, while the Google Ads API returns up to 60 days of lead data. A webhook or a supported third party integration delivers each lead as it is submitted, which is the only option that does not depend on somebody remembering to log in.
Only with the right access level. Google's access chart gives lead download rights to Standard and Admin users and withholds them from Billing, Email only and Read only users. For an agency operating through a manager account, Admin access is not enough on its own: the client account has to grant the manager account ownership before leads can be downloaded. That is a deliberate step somebody has to take, which makes it a useful thing to check rather than assume.
Name the specific assets rather than the principle. List the Google Ads account, the Meta business portfolio and the Facebook Page by ID, state which party owns each one, and require that a live integration writes every lead into the client's own system before the first campaign is switched on. Add what happens to access on the last day of the engagement. I build these systems rather than practise law, so have your counsel write the words, but hand them that list.

Not sure whose account your leads are sitting in?

Send me the setup before our call. I will tell you which accounts should be in your name, where the export is missing, and what it takes to move the record into a system you own without losing a single lead.

Book a 30-Minute Call