How to pick a growth or digital marketing agency or freelancer: what to ask, what to avoid and how to score them

TL;DR

Difficulty: Beginner

  • You are buying a named person and a contract, so ask who does the work, how many accounts they run and how long you are tied in.
  • Keep every ad, analytics and website account in your own name, with you as admin. The provider gets access, never ownership.
  • Every pricing model rewards something: a retainer the least effort, hourly the hours, a share of spend the spending, a commission the credit.
  • Walk away from guaranteed rankings, and read a Google Partner badge as proof of spend and certifications, not of results.
  • Reject anyone who fails the must haves, then score the rest with weights you set before reading the quotes.

Choosing a marketing agency or freelancer can make or break a year, and most pitches look the same from the outside. In this guide I show what to ask before you sign, what each way of paying them really rewards, which red flags Google itself warns about, and a simple weighted score to compare the quotes, worked through for an invented coffee roaster in Cork.

You are not buying marketing, you are buying a person and a contract

Every pitch looks the same from the outside: a deck, a few logos, a graph that only goes up, and a monthly fee. What you are actually buying is behind all of that. It is a named person who will make decisions with your money, and a contract that decides what that person is paid to care about.

So the useful question is not "are you good?" Everyone says yes. It is who does the work, who owns the accounts, how long you are tied in, how they are paid, and whether you can check their numbers yourself. I take each in turn, then the red flags, then a scoring method you can run on a kitchen table with three quotes.

A word on where I stand. I am one of the options you might be weighing: one person who does the work himself, paid partly on commission. Everything below applies to me too, and I would rather you used it on me than skipped it.

The business, the people and every number in the examples are invented, so that I can show each step. Nobody real, no client.

Worked example: Seán and the three quotes

Seán runs Kilbrack Coffee, an online coffee roaster in Cork at kilbrackcoffee.example. The shop takes about €30,000 a month online. Of every euro of revenue, Seán keeps about 50 cent after beans, packaging, delivery and payment fees. That 50% is the contribution margin, and it comes back later.

Seán spends €4,000 a month on Google Ads and Meta ads and runs them himself on Sunday evenings. He wants his Sundays back. He has three quotes on the table.

Option A is a mid sized agency in Galway. €1,800 a month retainer, a 12 month minimum term.

Option B is a freelancer in Limerick. €70 an hour, about 20 hours a month, so roughly €1,400, with 30 days' notice.

Option C is a larger agency in Waterford with a Premier Partner badge on its homepage. 15% of ad spend with a €500 minimum, a six month minimum term, and an offer to "get you on page one of Google in 90 days" as an add on.

By the end, Seán will have scored all three. The interesting part is why.

Ask who will actually do the work

The person who pitches is often not the person who works on your account. That is how many agencies are built: a senior person wins the work and a team delivers it. It becomes a problem when nobody tells you.

Ask three things, and get the answers in writing. The name of the person who will make the daily decisions on your account. How many other accounts that person runs. And what happens when they leave or go on holiday.

The second question matters most, because it tells you how much attention you are really buying.

Worked example: how many hours Seán is really buying

Option A names an account manager, Jo, who will be Seán's contact. The actual campaign work is done by "the paid media team". When Seán asks, the specialist who would run his account looks after 18 other accounts.

Assume that specialist has about 150 hours of real account work in a month, once meetings, internal reporting and training are taken out. Split across 19 accounts, that is 150/19≈7.9150 / 19 \approx 7.9 hours a month on Seán's account, a little under two hours a week. Seán is paying €1,800 for those hours plus Jo's time, the reporting and the agency's overhead.

Option B is one person doing the work herself, roughly 20 hours a month. Option C would not name anyone before signing.

None of this makes A bad. Eight focused hours can beat 20 distracted ones. But Seán now knows what he is comparing, and C's silence is information too.

Make sure every account is in your name

This is the one I would fight hardest for. Your Google Ads account, your Meta ad account, your analytics, your tag manager, your domain and your website hosting should all be created in your business's name, paid with your card, and you should hold the highest level of access.

The agency then gets access to your accounts. Not the other way round.

Google Ads makes this concrete. Its access levels run from email only, through billing, read only and standard, up to admin. Only admin can give access to others, change access levels, and accept or unlink manager accounts, which is how agencies usually connect.1 Hold admin and you can end the relationship on a Friday afternoon without asking anyone. If the agency holds it, you are asking.

It is not only about access. An ad account carries years of history: which searches converted, which audiences bought, what the bidding has learned. That history is part of what makes the next euro of spend work, and it belongs to whoever owns the account.

If the agency touches your customer data, for example uploading your customer list to build an audience, it is processing personal data on your behalf. The GDPR says processing by a processor must be governed by a contract that binds the processor to the controller, and that the contract must be in writing, which includes electronic form.2 The Data Protection Commission (DPC) says the same in its own guide: controllers and processors must enter into a legally binding contract governing the processing.3 Ask for it. A decent agency will have one ready.

Worked example: the day Seán leaves

Imagine Seán signs with each option and decides to leave after a year.

With A and B, Seán created the Google Ads and Meta accounts himself and gave each provider access through their manager account. On the day he leaves, he logs in as admin and unlinks them. The campaigns, the conversion history and the audiences stay exactly where they are. A new provider can pick up on Monday.

Option C explains that it runs all clients from its own ad account "for efficiency", and bills Seán for the spend. On the day he leaves, the account stays with C. Seán starts again from an empty account, with no history and no audiences, and his first few weeks of spend go on relearning what the old account already knew.

The fee was never the expensive part of that choice.

Read the term and the notice before the price

A long minimum term is not automatically wrong. Some work takes months to set up. But a long term shifts the risk of a bad fit onto you, and a bad fit is common enough to price in.

What I look for: a short first term, three months is plenty for paid media, then a rolling month with 30 days' notice. A clear list of what happens at the end: access removed, files and creative handed over, no exit fee.

It helps to know where the law does and does not help. When you sign as a business, you are not a consumer. The Consumer Rights Act 2022 defines a consumer as "an individual acting for purposes that are wholly or mainly outside that individual's trade, business, craft or profession".4 So most of the consumer protections people have heard of do not cover your agency contract. The 2022 Act's rules for service contracts apply to contracts between a trader and a consumer,5 so a business buying marketing still falls under an older Act.

The Sale of Goods and Supply of Services Act 1980 implies, in every contract for a service where the supplier is acting in the course of a business, that the supplier has the necessary skill to render the service and will supply it with due skill, care and diligence.6 But section 40 allows an express term of the contract to negative or vary those implied terms. The extra safeguard, that such a term must be shown to be fair and reasonable and must have been specifically brought to the buyer's attention, is written for a buyer who deals as consumer.7 As a business, you are not that buyer, so a clause in the agency's terms can narrow the promise.

That is a floor, not a plan, and a thin one. "Due skill, care and diligence" is a long way from "made me money", and what a clause in your contract does to it is a job for a solicitor. The real protection is the contract you negotiate before you sign.

Worked example: what each term costs if it goes wrong

Seán reckons there is a 30% chance that any new provider does not work out in the first three months. That is his own assumption, a guess about fit, not a statistic. The question is what leaving at the end of month three would cost him with each option.

Option A: a 12 month minimum leaves nine months to pay, 9×1,800=€16,2009 \times 1{,}800 = €16{,}200.

Option B: 30 days' notice, so one more month, about €1,400.

Option C: a six month minimum leaves three months, at 15% of €4,000, so 3×600=€1,8003 \times 600 = €1{,}800.

To compare them fairly, Seán weights each exit bill by the chance he needs to pay it:

E[Cexit]=p×CexitE[C_{\text{exit}}] = p \times C_{\text{exit}}

Here E[Cexit]E[C_{\text{exit}}] is the expected exit cost, pp is the probability that the provider does not work out and Seán leaves at month three (0.30), and CexitC_{\text{exit}} is what he owes when he leaves. It is the simplest case of an expected value, explained in Foundations: expected value.

For A, 0.30×16,200=€4,8600.30 \times 16{,}200 = €4{,}860. For B, 0.30×1,400=€4200.30 \times 1{,}400 = €420. For C, 0.30×1,800=€5400.30 \times 1{,}800 = €540.

B has one honest weakness the other two do not: she is one person. Seán guesses a 20% chance in a year that she becomes unavailable for a stretch, and that finding and briefing someone new would cost him about €2,000 in his own time and a weaker month. That adds 0.20×2,000=€4000.20 \times 2{,}000 = €400, so B's total is €820. I know this risk well. I am one person too, and I have thought about it more than is healthy.

Expected exit cost by optionExpected cost of leaving at the end of month three for each option: Option A €4,860, Option B €820 including the risk of the freelancer becoming unavailable, Option C €540.What a bad fit is expected to cost Seán€0€2,500€5,000€7,500€10,000€4,860Option A€820Option B€540Option CExpected cost in €Provider

Each bar is one provider. The height is the expected cost in euro of finding out at month three that it is not working, the exit bill weighted by Seán's 30% guess, plus the cover risk for B. The takeaway: the 12 month term makes A's bad fit cost about six times as much as B's, before anyone has run a single ad. C looks lowest here, and C still has a problem this chart cannot show, which the ownership section already found.

Every way of paying rewards something

There is no neutral way to pay for marketing. Each model pays the provider to care about one thing, rarely exactly what you care about. The economics are in principal agent theory in agencies and retainers. Here is the practical version.

A retainer is a fixed monthly fee for an agreed scope. It rewards keeping you happy for the least effort that does that. It works well when the scope is clear and someone checks the work.

An hourly rate rewards hours. It is honest for defined jobs, an audit or a tracking fix, and it needs a monthly cap, otherwise the meter has no reason to stop.

A percentage of ad spend rewards spending. Every time your budget goes up, so does the fee, whether or not the extra spend makes you money.

A commission on revenue rewards credit. If the commission is on revenue the ad platforms attribute to the ads, it pays for sales the ads claimed, not necessarily sales they caused.

A performance fee against a baseline rewards the change you actually wanted, if the baseline is fair and the measure is one you both trust. It is the hardest to set up and the closest to what you want. I explain my own version, month by month, in commission based pricing, the worked example.

Worked example: the €2,000 Option C wants to add

After two months, Option C suggests raising Seán's spend from €4,000 to €6,000. At 15%, the fee rises from €600 to €900. The question is how much revenue that extra €2,000 must bring in before Seán is better off.

mROAS∗=1+ϕm\text{mROAS}^{*} = \frac{1 + \phi}{m}

Here mROAS∗\text{mROAS}^{*} is the break even marginal return on ad spend, the revenue each extra euro of spend must bring in before it adds any profit, ϕ\phi is the fee as a share of spend (0.15), and mm is Seán's contribution margin as a share of revenue (0.50). Marginal means the return on the next euro, not the average of all of them, as explained in Foundations: marginal versus average.

For Seán, mROAS∗=1.15/0.50=2.3\text{mROAS}^{*} = 1.15 / 0.50 = 2.3. So the extra €2,000 must bring in at least 2.3×2,000=€4,6002.3 \times 2{,}000 = €4{,}600 of extra revenue.

Check it: €4,600 of revenue leaves 0.50×4,600=€2,3000.50 \times 4{,}600 = €2{,}300 of contribution, which pays exactly for the €2,000 of spend plus the €300 of extra fee. Anything less and Seán loses money on the increase, while C earns its extra €300 either way. That does not mean C is wrong about the opportunity. It means Seán should ask for the expected extra revenue in writing and check it against this line.

Worked example: a commission on attributed revenue

Suppose a fourth provider offered Seán 8% of the revenue his ad platforms attribute to the ads. In a typical month the platforms claim €12,000, so the fee is 0.08×12,000=€9600.08 \times 12{,}000 = €960.

Now look inside the €12,000. About €5,000 of it comes from people searching for "kilbrack coffee" by name. Most of them were coming anyway, the ad just sat in front of them on the way in. Seán would pay 0.08×5,000=€4000.08 \times 5{,}000 = €400 a month for sales he would largely have had without paying anyone.

The fix is not to refuse commissions. It is to exclude brand searches, or to pay on revenue above a baseline you agree up front.

Ask for reporting you can check yourself

A report built from numbers only the agency can see is a story told by the person being marked. It may well be true. You just cannot tell.

So ask for two things. First, read access to every account behind the report, so you can open the same numbers yourself. Second, a monthly reconciliation against the one source the agency does not control: your shop's own orders.

Ad platforms each count the sales they had a hand in, by their own rules. Several platforms can claim the same order. That is why the total they claim can creep close to, or even above, every order you actually took.

Worked example: when the claims add up to more than the shop

In March, Seán's shop records 520 online orders. The report says Google Ads drove 260 conversions and Meta drove 230, a total of 490.

A simple ratio shows the problem:

R=COR = \frac{C}{O}

Here RR is the claim ratio, CC is the number of conversions the ad platforms claim, added together (490), and OO is the number of orders the shop itself recorded in the same month (520). It is a rate like any other, events over opportunities, set out in Foundations: ratios and rates.

For March, R=490/520≈0.94R = 490 / 520 \approx 0.94. The ads claim 94% of every order Seán took. But Seán also knows that 180 of those orders came from his email list and from subscribers whose coffee renews automatically every month. That leaves at most 520−180=340520 - 180 = 340 orders the ads could possibly have driven, against 490 claimed. The claim does not survive contact with the shop.

That is not proof anyone cheated. Both platforms count by their own rules. It is proof that the report cannot decide what to pay or where the next euro goes. A good provider raises this before you do. If you want to go further, tag every link properly, as in mastering UTM tracking, and test what the ads actually cause.

The red flags, with the source behind each

Some warning signs are matters of taste. These three are not, because the companies who run the platforms say so themselves.

The first is a guaranteed ranking. Google's own guidance on hiring a Search Engine Optimisation (SEO) specialist is blunt: no one can guarantee a number one ranking on Google, and if someone guarantees that their changes will put you in first place, you should find someone else.8 The same page warns about firms that email you out of the blue, about anyone who is secretive or will not clearly explain what they intend to do, and says you should never have to link to an SEO.8 It also gives a sensible list of questions to ask, including how they measure success and whether they will share every change they make to your site.8

The second is a badge used as a promise. A Google Partner badge is real, and it means something specific. To earn it, the agency's manager account needs an optimisation score of at least 70%, a 90 day spend of US$10,000 across the accounts it manages, and at least half of its account strategists certified in Google Ads. Premier Partner adds being in the top 3% of participating companies in a country, assessed annually.9

Look at what that list measures. Spend under management. Staff who passed Google's certifications. And an optimisation score, which Google describes as an estimate of how well an account is set to perform, a score that changes when Google's own recommendations are applied or dismissed.10 None of it measures whether the clients made a profit. The badge says the agency is active on Google and keeps its accounts in line with Google's recommendations. It does not say the agency is good for your business. I explain why I stepped out of that programme in why I left the Google Ads Partner programme.

The third is a provider who owns your accounts, covered above. A badge and a guarantee are sales noise. An account you do not own is a real cost.

Worked example: what Option C's badge tells Seán

US10,000over90days,acrossallofanagency′sclientstogether,isaboutUS10,000 over 90 days, across all of an agency's clients together, is about US3,333 a month. Seán's own €4,000 a month would clear that line for the whole agency on its own.

So the badge tells Seán that C manages a decent amount of spend and has certified staff. Grand, good to know. It tells him nothing about whether C's clients are better off, and C's "page one in 90 days" offer is precisely the guarantee Google tells him to walk away from.8

Score the options on paper

By now Seán has more facts than he can hold in his head, which is when a gut decision follows the best presenter. A weighted score is the cure, and it is not new. A manual on multi criteria analysis published by the UK government describes it as the most common approach: score each option on each criterion, multiply by the weight of that criterion, and add the weighted scores together.11

The method has a step that matters as much as the arithmetic. Some criteria are not up for trade. The same manual describes setting a minimum acceptable level, where an option falling below it is rejected outright, because better performance elsewhere cannot make up for it.11 For agency choice, I treat three things that way.

Choosing a marketing providerA top to bottom process: list the options, then three yes or no gates (accounts in your name with admin access, a named person doing the work, a first term of three months or less with rolling notice after), any no rejects the option, then score the survivors with weights, test the weights, and pick the highest score.List every option with its writtenquoteWill every account be in your name,with you as admin?noNo: reject the optionyesIs a named person doing the work,and will they say how many accountsthey run?noNo: reject the optionyesIs the first term three months orless, with rolling notice after?noNo: negotiate, and reject if they willnot moveyesScore each survivor from 1 to 5 on eachcriterionMultiply by the weights and add upChange the weights and check the orderstill holdsPick the highest score and agree thereporting

Read it from the top. Each question is a gate: answer no, and the option is out before any scoring, however good the rest looks. Only options that pass all three are scored, and the last step checks that the result is not just an artefact of the weights you happened to pick.

Sj=∑i=1nwi sij,∑i=1nwi=1S_j = \sum_{i=1}^{n} w_i \, s_{ij}, \qquad \sum_{i=1}^{n} w_i = 1

Here SjS_j is the total score of option jj, nn is the number of criteria, wiw_i is the weight of criterion ii as a share of the whole (the weights add up to 1), and sijs_{ij} is the score of option jj on criterion ii, on a scale from 1 to 5. A weighted score is a weighted mean, an average where some items count more than others, built on the ideas in Foundations: the mean.

Choose the weights before you look at the quotes. Otherwise you will, without meaning to, choose the weights that make your favourite win.

Worked example: Seán scores the three options

Option C fails the first gate: the ads would run in C's own account. By the method, it is out. Seán scores it anyway, to see whether the gate was doing the work.

Seán's weights, set before he looked at the quotes:

CriterionWeight
Named person and real hours0.25
Account ownership and access0.20
How the pricing pays them0.20
Term and notice0.15
Reporting Seán can check0.20

The weights add up to 0.25+0.20+0.20+0.15+0.20=1.000.25 + 0.20 + 0.20 + 0.15 + 0.20 = 1.00.

His scores, from 1 (poor) to 5 (excellent), each one tied to something written in the quote:

CriterionABC
Named person and real hours252
Account ownership and access551
How the pricing pays them332
Term and notice253
Reporting Seán can check342

A scores 2 on people because the specialist has about eight hours a month for him. B gets 3 on pricing because an hourly rate rewards hours. C gets 2 because a fee on spend pays it to spend.

Option A: SA=0.25(2)+0.20(5)+0.20(3)+0.15(2)+0.20(3)=0.50+1.00+0.60+0.30+0.60=3.00S_A = 0.25(2) + 0.20(5) + 0.20(3) + 0.15(2) + 0.20(3) = 0.50 + 1.00 + 0.60 + 0.30 + 0.60 = 3.00.

Option B: SB=0.25(5)+0.20(5)+0.20(3)+0.15(5)+0.20(4)=1.25+1.00+0.60+0.75+0.80=4.40S_B = 0.25(5) + 0.20(5) + 0.20(3) + 0.15(5) + 0.20(4) = 1.25 + 1.00 + 0.60 + 0.75 + 0.80 = 4.40.

Option C: SC=0.25(2)+0.20(1)+0.20(2)+0.15(3)+0.20(2)=0.50+0.20+0.40+0.45+0.40=1.95S_C = 0.25(2) + 0.20(1) + 0.20(2) + 0.15(3) + 0.20(2) = 0.50 + 0.20 + 0.40 + 0.45 + 0.40 = 1.95.

In each line the number before the brackets is the weight wiw_i and the number in brackets is the score sijs_{ij}, so each product is one weighted score and their sum is SjS_j, exactly as in the formula above.

Weighted scores of the three optionsWeighted scores out of 5: Option A 3.00, Option B 4.40, Option C 1.95.Seán's weighted scores, out of 501.32.53.853Option A4.4Option B2.0Option CWeighted score (1 to 5)Provider

Each bar is one option, and its height is the weighted score on the 1 to 5 scale. B leads clearly. C comes last even without the gate, so the gate and the scores agree, which is reassuring. And A, the safest looking choice in a meeting, sits in the middle, mostly because of the hours and the 12 month term.

Worked example: does the result survive different weights

The manual's last step is a sensitivity analysis: check whether other weights would change the order.11 Seán tries the case most likely to hurt B. He moves 10 points away from "named person" and gives them to "reporting", so the weights become 0.15, 0.20, 0.20, 0.15 and 0.30.

Option A becomes SA=0.15(2)+0.20(5)+0.20(3)+0.15(2)+0.30(3)=0.30+1.00+0.60+0.30+0.90=3.10S_A = 0.15(2) + 0.20(5) + 0.20(3) + 0.15(2) + 0.30(3) = 0.30 + 1.00 + 0.60 + 0.30 + 0.90 = 3.10.

Option B becomes SB=0.15(5)+0.20(5)+0.20(3)+0.15(5)+0.30(4)=0.75+1.00+0.60+0.75+1.20=4.30S_B = 0.15(5) + 0.20(5) + 0.20(3) + 0.15(5) + 0.30(4) = 0.75 + 1.00 + 0.60 + 0.75 + 1.20 = 4.30.

The order holds, and B still leads by more than a point. When a lead survives a fair push on the weights, you can trust it. When it flips at the first nudge, the options are close, and the decision comes down to a conversation, a reference or a short paid trial.

Seán's last step is not mathematical. He asks B what happens if she is ill for a month, and agrees a cap of 25 hours, a monthly reconciliation against the shop's orders, and a review at three months. Then he gets his Sundays back.

What the score cannot do for you

A score is only as honest as the facts you feed it. Score from the pitch deck and you are scoring the deck. Tie every score to something written: the named person, the term, the access level.

It cannot tell you whether you will work well together either. Ask for one reference from a client who left, not one who stayed. How a provider handles an ending tells you more than any case study.

And it cannot rescue a goal that was never realistic. If you need 500 new customers by next month for an investor meeting, the right provider is the one who tells you the uncomfortable number before you sign, which is a decision question I cover in decision theory for founders.

The right provider will be glad you asked all of this. The wrong one will call it unusual. It is just rarely asked.

Footnotes

  1. Google, About access levels in your Google Ads account, Google Ads Help, https://support.google.com/google-ads/answer/9978556?hl=en-GB

  2. Regulation (EU) 2016/679 (General Data Protection Regulation), Article 28(3) and 28(9), Official Journal of the European Union, EUR-Lex, 2016, https://eur-lex.europa.eu/eli/reg/2016/679/oj

  3. Data Protection Commission, A Practical Guide to Controller Processor Contracts, dataprotection.ie, https://www.dataprotection.ie/en/dpc-guidance/data-processing-agreements

  4. Consumer Rights Act 2022, section 2(1), definition of consumer, Irish Statute Book, 2022, https://www.irishstatutebook.ie/eli/2022/act/37/section/2/enacted/en/html

  5. Consumer Rights Act 2022, section 75(1), Application (Part 4), Irish Statute Book, 2022, https://www.irishstatutebook.ie/eli/2022/act/37/section/75/enacted/en/html

  6. Sale of Goods and Supply of Services Act 1980, section 39, Implied undertakings as to quality of service, revised, Law Reform Commission Revised Acts, https://revisedacts.lawreform.ie/eli/1980/act/16/section/39/revised/en/html

  7. Sale of Goods and Supply of Services Act 1980, section 40(1), Exclusion of implied terms, revised, Law Reform Commission Revised Acts, https://revisedacts.lawreform.ie/eli/1980/act/16/section/40/revised/en/html

  8. Google Search Central, Do you need an SEO?, Google for Developers, https://developers.google.com/search/docs/fundamentals/do-i-need-seo

  9. Google, How to become a Google Partner or Premier Partner, Google Ads Help, https://support.google.com/google-ads/answer/9702452?hl=en-GB

  10. Google, About optimisation score, Google Ads Help, https://support.google.com/google-ads/answer/9061546?hl=en-GB

  11. Department for Communities and Local Government, Multi criteria analysis: a manual, 2009, section 4.7 (linear additive models), section 5.4.4.4 (minimum acceptable levels) and Figure 5.1 (the eight steps, including sensitivity analysis), https://www.gov.uk/government/publications/multi-criteria-analysis-manual-for-making-government-policy

If you have quotes on the table and want a second pair of eyes, bring them to the free workshop and we will score them together, me included if you like. No bother either way. The first two weeks of work are on me.