All articles

Lead Generation

Is My Marketing Agency Ripping Me Off? 7 Checks

Four checks you can run in an hour without asking your agency for anything, plus the fee-to-ad-spend ratio that separates a fair deal from a bad one.

Om Patel 16 min read
Photo: Pawel Czerwinski / Unsplash

The short answer

You can settle it in about an hour without your agency's cooperation. Search your business in Google's Ads Transparency Center and the Meta Ad Library to confirm ads exist, check who owns your Google Business Profile, and read two years of Google Ads change history. Then compare the management fee to the ad spend it manages.

You can settle this in about an hour, without asking your agency for anything and without a second agency's free audit. Search your business in Google's Ads Transparency Center and in the Meta Ad Library to confirm the ads exist. Check who Google says owns your Business Profile. Read the change history in your Google Ads account. Then compare the management fee to the ad spend it manages. Four checks, four sources your agency does not control.

Every page ranking for this question gives you a list of feelings: they use vanity metrics, they are slow to reply, the reports are confusing. That is not useless, but it is not evidence either, and it leaves you exactly where a business owner on r/smallbusiness described in June 2026: "You pay thousands for promises, get confusing reports, and see no new customers. It feels like it's something you have to have, but you're given no real way of validating the work."

There is a real way. Google and Meta both publish public records about your own advertising that your agency cannot edit, hide or spin. This article is the procedure.

Check 1: search yourself in the Ads Transparency Center

Go to adstransparency.google.com and search your own business name. This is the single fastest way to find out whether the Google ads you are paying for exist.

It works because of a rule Google introduced in 2020 and has been rolling out ever since. Google's advertiser verification policy states that all advertisers will eventually be required to complete advertiser verification, and Google's My Ad Center documentation says the process requires advertisers to provide legal documentation with their name. Verification feeds the Ads Transparency Center, which is a searchable public record of the ads a verified advertiser has run across Search, YouTube and Display.

What that means for you: if your agency is running search ads under your business identity, your business is searchable there, by anyone, including you. If it is not, one of three things is true. The ads are not running. They are running under someone else's advertiser identity, which is its own problem. Or the account has not completed verification, which restricts delivery. None of those appear in a monthly report. All of them take ninety seconds to find.

Check 2: search your Page in the Meta Ad Library

Do the same thing at facebook.com/ads/library. Meta's own description of the tool is that it lets you "search all the ads currently running across Meta technologies," and its FAQ states that "an ad will appear in the Ad Library within 24 hours of the time it gets its first impression."

Two details matter. First, for ordinary commercial ads the library shows what is running right now, not an archive, so a blank result means nothing is live today rather than nothing ever ran. Second, "within 24 hours" cuts both ways: an agency that launched something this morning gets a day of grace, and an agency that paused your campaigns three weeks ago has nowhere to hide.

Search your Page name, not your legal entity name. Trades in particular often have a Page named after the brand on the truck and a Google advertiser identity registered to the numbered company.

Tip

Do both searches from your phone, on cellular data, signed out of everything. You want the same view a stranger gets, not a personalized one.

Check 3: find out who Google says owns your Business Profile

For a local service business this is the asset that matters most, and it is the one most often quietly held. Your Google Business Profile is where the map pack calls come from. If your agency created or claimed it, they may be the primary owner and you may be a manager on your own listing.

Google's process for getting it back is public. Go to business.google.com/add, enter your business name and address, choose your business from the list, and select Request Access. Google's documentation is specific about what happens next: "The current profile owner is then notified by email and has 3 days to respond." If the request is approved you get access. If it is denied you can suggest an edit or appeal. And if nobody answers: "If you don't get a response after 3 days, you may have the option to claim the profile," though Google adds that the claim option "isn't always available."

Note the exception, because it catches most trades. Google routes service-area businesses, meaning any business that works at the customer's location without a storefront, through a different path: contact Google support and enter "Transfer ownership of listing" as the issue. Plumbers, electricians, garage door companies and mobile techs almost all fall here.

Three days is a short window and it is your leverage. An agency that intends to keep working with you approves the request the same day. An agency that lets it expire has told you something.

Check 4: read two years of change history

Open Google Ads, go to Change history, and set the date range to the last twelve months. Google's documentation describes exactly what you are looking at: a tool that "lists the changes made to your account, campaigns, and ad groups during the past 2 years," where "the 'User' column will show the email address of the person who made the change if it was done through the Google Ads interface," mapped against impressions, clicks, conversions and cost.

This is an agency timesheet nobody has to agree to give you. Read it three ways.

Volume. Count entries by month. A managed search account for a single-trade local business generates real activity: negative keywords added after reading search terms, budget shifts, ad copy tests, bid adjustments. A dozen changes in a year is not management, it is hosting.

Identity. Look at the email addresses. You should recognize at least one. Google notes that changes made through the API by a third-party tool may show "Google Ads API" or a tool name instead of a person, so automation is not automatically a red flag, but a year of nothing but automated entries is.

Timing. Compare the dates to your invoices and to your strategy calls. Work that appears in a cluster the week before each quarterly review is work being performed for the meeting rather than for the account.

Watch out

If Change history is greyed out or your login cannot see it, you do not have the access level you think you do. Google Ads access levels live under Admin, then Access and security, and the fix is to have someone with admin rights raise you to admin. If nobody will, that is the finding.

The number that settles most arguments: fee against spend

Once you know the ads exist, the real question is whether the price is fair. Almost nobody publishes contractor numbers, so here are the ones that do exist.

In March 2026, a marketer posted a full financial breakdown of an 18-month roofing engagement to r/Roofing, with the stated intent of publishing "the numbers i wish i had." The account went from zero to $2.2M in revenue. The marketing side:

YearAd spendAgency feeFee as share of spend
2024 (Apr to Dec)$30,684$8,50028%
2025 (Jan to Sep)$61,871$36,00058%

The same post reports ad spend at 4.5% of revenue and the fee at 2.6%, for total marketing at 7.1% of revenue, and a return of $14.10 in revenue and $4.20 in profit for every marketing dollar. It also reports a roofing search cost per click of roughly $60, which is why the ad spend is what it is.

Now compare that to a post in r/Contractor asking whether the numbers were any good: "$1500 a month into their ads with $1300 service fee." That is a fee equal to 87% of the media it manages. A commenter on the same thread reported paying "$2k and they get me back only $3-5k per month profit so I'm barely making money with them."

No regulator sets this ratio, so use it as a diagnostic rather than a rule. On a small local budget a fee can legitimately exceed a third of spend, because maintaining an account takes roughly the same hours at $2,000 a month as at $20,000. But when the fee approaches or passes the media budget, you are buying a relationship rather than distribution, and the only defence is performance you can point at. Ask for the fee and the spend as two separate lines on the invoice. An agency that will not split them is telling you the split is the product.

The broader anchor from the same r/Contractor thread: "it's common that between 3%-10% of revenue goes to advertising." If your total outlay, fee plus media, sits far outside that band and revenue has not moved, the conversation is overdue.

If you finish this audit and the honest answer is that nobody has been steering the account, that is fixable. Pavado builds done-for-you lead generation for local service businesses: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, in accounts you own. You keep the logins whether you stay or not.

Get a lead plan

What Google's own rules already require your agency to tell you

Most owners assume this is purely a contract matter between them and the agency. It is not. Google publishes a third-party policy that binds anyone buying and managing Google Ads on a client's behalf, and it is short, plain and usable.

The opening line sets the standard: "Advertisers should have the same high-quality experience as they would when working directly with Google. You should be honest and transparent about your company, services, associated costs, and expected results."

Two provisions are directly useful to you.

One advertiser per account. Google requires "that you use a separate account for each end-advertiser that you manage," and gives its reason: account history feeds Quality Score, and combining advertisers into one account produces scores that misrepresent any one of them and "may also restrict ad delivery within auctions." So the question "is my business in its own Google Ads account?" is not paranoia. It is a policy question with a right answer, and pooling clients into a shared account degrades your delivery, not just your visibility.

Transparency requirements. Google requires third parties "to be transparent about information that affects these decisions" and to "make reasonable efforts to provide their customers with other relevant information when requested." Asking what portion of your monthly payment reached Google is a request Google expects to be answered.

The part nobody mentions: enforcement exists. Google's policy page ends with a link to report a violation of third-party policy, and states that Google "may review your business for compliance at any time" and "may also reach out to your customers to help verify your compliance status." You do not have to use it. Mentioning that it exists changes a conversation.

You can also just look at the money. Google Ads keeps a Transactions page under Billing showing what Google actually charged. If you have admin access and you are the payer, no reconciliation is needed at all.

Three things that look like theft and usually are not

The reason most of these audits go badly is that owners run them angry and fire a competent agency over something that was never the agency's doing. Rule these out first.

Slow callbacks masquerading as bad leads. The roofing marketer above wrote that he personally answered inbound calls for the first five months, because "if a call isn't answered, they don't convert and then my client sees that as a 'bad lead', which in turn looks bad on me." His stated standard is that all form fills get called back in under five minutes. When his client's leads moved from a fast response to a call centre, the qualified rate on Meta leads fell from 95% to about 50%, and he attributes part of that drop to callback time rather than to lead quality. Before you blame targeting, pull your own call logs and count how many rang out.

Geography that will not cooperate. A window and door company posted to r/Contractor in November 2025 that despite pouring money into Google, Facebook and Thumbtack, "all of our leads come right outside this premier zip code even though we target the zip code right where we live," and concluded that "the big players are making behind the scenes deals." A likelier explanation is that in a neighbourhood of two million dollar homes, the households doing remodels are a tiny, heavily contested audience, and the surrounding zips are where the volume is. Radius targeting does not create demand inside a polygon that has none.

Seasonality read as decline. Trades have brutal seasonal curves, and a three-month window that starts at a peak shows a decline no matter who manages the account. Compare to the same months last year, not to last quarter. Our breakdown of what contractor leads actually cost shows what those swings do to cost per lead.

None of this excuses an agency that will not give you access. It just means the access check and the performance argument are separate conversations, and you should win the first one before starting the second.

The seven checks, in order

Run these in sequence. The first four need nothing from anyone.

  1. Ads Transparency Center. Search your business at adstransparency.google.com. Do the search ads exist?
  2. Meta Ad Library. Search your Page at facebook.com/ads/library. Is anything live right now?
  3. Business Profile ownership. Are you the primary owner, or a manager on your own listing?
  4. Change history. Twelve months of entries in Google Ads: how many, by whom, and when relative to your invoices.
  5. The invoice split. Is media spend a separate line from the management fee? If not, ask for it in writing.
  6. The billing source. Are you paying Google and Meta directly, or paying the agency a combined figure? Direct is the default for a business your size.
  7. The asset list. Domain registrar, website admin, Google Ads admin, Meta Business Manager admin, Search Console, Business Profile, call tracking numbers. Who holds each one?

Three or more failures is not a conversation about performance. It is a conversation about ownership.

If the answer is yes, change the locks before you give notice

Order matters here, because leverage disappears the moment you send the termination email.

Take admin on the ad accounts first. In Google Ads, Admin then Access and security shows every user and their level. Get yourself to admin, then remove the agency after the handover, not before. Google's own documentation warns that an account with a single administrator can lose access to its tags if that user becomes unavailable, which is precisely the position an agency-only admin leaves you in.

Request your Business Profile. Start the three-day clock now, not after the argument.

Verify Search Console yourself, by DNS. A TXT record proves ownership at the registrar level, so you keep the property regardless of who else is verified on it, and you get an independent record of clicks and queries. That record is what makes the next agency's claims checkable.

Find out who owns the phone number on your ads. Call tracking numbers are legitimate, but if the agency owns the number printed on your ads, your vehicles or your Business Profile, leaving means losing the calls. Have it ported to your own account first.

Get the domain, not just the website. Log into your registrar. If you cannot, that outranks the ad accounts, because everything else can be rebuilt in a week and a domain in dispute cannot.

Then send one email. Termination date, assets to be transferred, deadline, and a final export of campaign data. Keep it factual. You are collecting property, not litigating.

By the numbers

The two-year change history window is the reason to do this before you leave. Once your access is removed you lose the record, and it is the only unbiased account of what was actually done on your behalf. Export it first.

The honest version

Most agencies are not stealing. A digital marketing specialist writing in r/smallbusiness in March 2026 described the more common failure from the inside: "Premade structures, best practices that aren't used as guidelines but almost 'must adhere to,' pushing for higher budgets only, rather than taking the time to analyze and optimize the campaigns." That is not fraud. It is a retainer with nobody's attention on it, which costs you exactly as much and is far easier to fix.

So the distinction these seven checks draw is not honest versus dishonest. It is accountable versus unaccountable. An agency whose logins are in your name, whose invoice splits fee from media, and whose people show up in the change history every week can be judged on results. One that controls your assets and reports on itself cannot be judged at all, and over a long enough period that produces the same outcome as being ripped off whether anyone intended it or not.

Run the four public checks this week. They cost an hour and they end the guessing. If you are also weighing whether the money would do more elsewhere, our breakdown of whether Yelp Ads are worth it for contractors applies the same standard: read the contract and the platform's own numbers, not the sales deck.

Frequently asked questions

How can I tell if my marketing agency is actually running ads?
Search your business name in Google's Ads Transparency Center at adstransparency.google.com and in the Meta Ad Library at facebook.com/ads/library. Neither requires a login or your agency's permission. Google requires advertisers to complete identity verification, and Meta says an ad appears in the Ad Library within 24 hours of its first impression. If your agency bills you for ads every month and neither tool shows anything, ask why in writing.
Is my agency allowed to refuse me access to my own Google Ads account?
Google's third-party policy requires partners who buy and manage ads on a client's behalf to be honest and transparent about their company, services, associated costs and expected results, and to use a separate account for each end-advertiser. Refusing to disclose what you actually paid Google is a policy problem, not just a trust problem. Google publishes a form to report a third-party policy violation.
What is a reasonable management fee compared to my ad spend?
There is no official rule, but published contractor numbers give you a band. A marketer who posted full figures for a roofing client in r/Roofing reported $61,871 in ad spend against a $36,000 fee in 2025, with the fee equal to 2.6% of revenue and total marketing at 7.1% of revenue. When the fee approaches or exceeds the spend it manages, you are paying mostly for the relationship, not the media.
What should I do if my agency owns my Google Business Profile?
Go to business.google.com/add, enter your business name and address, and select Request Access. Google notifies the current owner, who has three days to respond. If nobody responds in three days, you may get the option to claim and verify the profile yourself. Service-area businesses with no storefront have to request a listing transfer through Google support instead.
How do I prove how much work my agency did last month?
Google Ads keeps a change history for the past two years that lists every change to your account, campaigns and ad groups, with the email address of the person who made each one when the change was made through the interface. It maps changes against clicks, conversions and cost. Count the entries per month and compare that to what you are paying.
Does bad lead quality mean my agency is ripping me off?
Not necessarily. Slow callbacks turn good leads into leads you call dead. In the roofing case study cited above, the marketer took over inbound calls himself for five months because unanswered calls were being reported back to him as bad leads. Before you blame the agency, check how fast your shop actually calls new leads back and how many rang out entirely.
Should I pay my agency for the ad spend or pay Google directly?
Pay the platform directly with your own card or invoicing line wherever you can. When you pay the agency a single combined figure, you cannot see the split between media and fee, and Google's own Transactions page is the only record that shows what Google actually charged. Small businesses have almost no reason to route media budget through an agency's account.
How do I leave a marketing agency without losing my website and leads?
Before giving notice, take admin access on Google Ads and Meta Business Manager, confirm you are the primary owner of your Google Business Profile, verify Search Console yourself through DNS, confirm your domain registrar login, and find out whether the phone number on your ads is a call tracking number the agency controls. Change ownership first, then send the termination email.
Done-for-you lead generation: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, fed by targeted outreach and Meta ad campaigns we build and run.
Get a lead plan

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.