Bootstrapping local market growth: how to win a new city without a big budget

TL;DR

Difficulty: Beginner

A new city is won in a sequence, not with a budget. Pick the territory the data is already asking for, plug the leaks on the local path to purchase before you add supply, build organic and paid search around how that city actually searches, run only partnerships you can measure with a code, and let the people who deliver and answer the phone feed what they learn back into the page. Measure the territory on its own: local conversion rate, cost per customer, and above all the marginal cost of the last increase in spend. When that marginal cost crosses your ceiling, hold the territory, let it compound, and open the next city with the money it no longer needs.

You do not need a big budget to win a new city. You need the right order of work, and the discipline to let each territory pay for the next. In this article I walk through the six step sequence I use, with an invented Cork meal kit company opening Limerick and then Galway, every number in euro and every step shown.

A city is won in a sequence, not with a budget

The first time I helped a business take on a city it had never sold in, the marketing budget would not have covered a billboard. We won the city anyway, and the reason was not cleverness. It was order. A small number of things in the right sequence, each one measured, and the city paid for the next step itself.

That is what I mean by bootstrapping local growth. You pick one territory, make sure every euro you put into it comes back, and move on only when the numbers say the first one is working. Each city funds the one after it.

The sequence I use has six steps, one per heading below. Choose the territory. Plug the revenue leaks. Set up search that understands local intent. Add partnerships that move a number. Measure the territory on its own. Then, and only then, the next city.

The territory launch sequenceA top to bottom flow of six steps: choose the territory by evidence, plug the revenue leaks on the local path to purchase, set up local search for local intent, add partnerships that move a measurable number, measure the territory on its own, then a decision on whether the marginal cost per customer is still under the ceiling. If yes, keep investing in this territory. If no, open the next city and start the sequence again.Choose the territory by evidence, notby the mapPlug the revenue leaks on the localpath to purchaseLocal search that understands localintent, organic and paidPartnerships that move one measurablenumberMeasure the territory on its own:conversion, cost per customer, growthIs the marginal cost per customerstill under your ceiling?yesKeep investing in this territory andlet it compoundnoOpen the next city and run the sequenceagain

Reading from the top: the first four boxes are work, the fifth is measurement, and the decision at the bottom is the one most businesses never make explicitly. They keep pouring money into the first city because it is familiar, or jump to the second because it is exciting. The marginal cost of a customer, explained further down, should decide it.

Everything that follows is my own playbook, stated as mine. Where I lean on a fact from outside my own work, Google's documentation mostly, it carries a footnote. The business in the example is invented.

Worked example: meet Leebox

Leebox is a meal kit company in Cork. It does not exist. Méabh, who runs it, cooks and packs weekly recipe boxes in a unit near Kent Station and delivers them across the city with two vans. A box is €45 and a customer orders, on average, ten boxes before they stop. After ingredients, packaging and the delivery run, each box leaves Méabh about €14 of contribution. Cork gives her 12,000 website visitors a month and 384 first orders, so her home city converts at 3.2%. She has about €1,000 a month to grow beyond it, which in meal kit terms is nothing. The question of this article is how she wins Limerick with that, and then Galway.

Choose the territory by evidence, not by the map

The temptation is to pick the next city because it is big, or near, or because a competitor is there. I pick it because of what the data already says. Three things tell me a territory is ready before I have spent anything on it.

First, demand that is already leaking in: where your visitors and enquiries come from, and where orders fail because you do not deliver there yet. An Eircode checker that keeps saying no to the same town is the loudest signal a business can get, and most businesses never read it.

Second, the operational fit. Can you serve the territory with what you have, or does it need a new depot, a new van, a new team? A territory you can reach from your existing base is one where the first customers cost almost nothing to serve.

Third, the local context. Conversion behaviour is not portable: the words people use, the areas they name, the days they shop, what counts as "near me" in a city cut in two by a river versus a town on the flat. In my experience the biggest early mistake is to copy the home city's landing page, swap the city name, and wonder why it converts at half the rate. The local context is something you go and learn, from the people who live there, before you write a line of copy.

Worked example: why Leebox picks Limerick first

Méabh has two candidates: Limerick, about 100 kilometres up the N20, and Galway, twice as far, on past Limerick and up through Clare. The map says Galway, the bigger draw. The data says Limerick. In three months of Eircode checker logs, 412 people typed a V94 Eircode, Limerick city, and were told Leebox does not deliver there. 96 typed an H91, which is Galway. Her vans already end their Cork run in Blarney and Mallow, on the N20 pointing at Limerick. Galway needs another hour and a bit each way beyond that.

Then the local context. Méabh spends a Saturday in Limerick with a notebook. People talk about "out the Ennis Road", "across in Castletroy" and "in town" rather than by any postal area, so a delivery slot by the Ennis Road or by Castletroy will read as local in a way an Eircode list never will. The Milk Market on a Saturday morning is where her kind of customer already shops, so that is where the first partnership will come from. And the student population out at the university means September and January matter more here than in Cork.

Limerick it is. Galway waits, with a number attached: when Limerick's marginal cost per customer crosses her ceiling, Galway opens.

Plug the revenue leaks before you add supply

Most businesses start a new territory by adding supply: more partners, more stock, more vans, more sales calls. I start by finding where the money already leaks out of the local path to purchase. If the checkout stalls on a local Eircode, if the delivery options make no sense in the new town, if the mobile page is slow, then every euro of marketing is poured into a bucket with a hole in it.

The one number that tells you whether the bucket holds is the local conversion rate: how many of the people who arrive from the new territory actually buy, measured for that territory alone. Never for the whole site. The home city will always flatter the average.

CRterritory=first orders from the territoryvisitors from the territory\text{CR}_{\text{territory}} = \frac{\text{first orders from the territory}}{\text{visitors from the territory}}

Here CRterritory\text{CR}_{\text{territory}} is the conversion rate for one territory, the numerator is the number of first orders placed by people in that territory in the period, and the denominator is the number of website visitors from that territory in the same period. It is a rate in the plain sense: events divided by opportunities, which is explained from scratch in Foundations: ratios and rates. Compare it with the home city's rate, and the gap is your leak.

I audit the same things every time: the first screen a local visitor sees, the step where they prove they are in the territory (an Eircode, a town, a map), the delivery or booking options, and anything the home city takes for granted that the new city does not have yet, local reviews above all.

Worked example: the Limerick page leaks half its orders

In her first month in Limerick, Méabh gets 1,800 visitors from Limerick and 27 first orders. The local conversion rate is CRLimerick=271,800=0.015\text{CR}_{\text{Limerick}} = \frac{27}{1{,}800} = 0.015, so 1.5%. Cork converts at 3.2%. Limerick converts at less than half that. Before spending another euro on Limerick marketing, Méabh looks for the leak, and finds three.

The Eircode checker accepted V94 but rejected V35, the towns south of the city, Bruff and Kilmallock and the villages between, which her vans pass on the way up anyway. Twenty two people hit that wall in a month. The delivery slots were Cork's, Tuesday and Friday evenings, but her Limerick run is on Wednesday, so the page promised a day she could not deliver and the checkout then corrected it, which looks like a bait and switch. And the page showed Cork reviews with Cork street names, which to a Limerick reader is a page for somewhere else.

She fixes all three in a week. V35 is added. The Limerick page shows the Wednesday slot from the first screen. Six Limerick customers who have had three boxes are asked for a review, and four say yes, fair play to them. Month two: 2,100 visitors from Limerick and 63 first orders, so CRLimerick=632,100=0.03\text{CR}_{\text{Limerick}} = \frac{63}{2{,}100} = 0.03, which is 3.0%.

Doubling the conversion rate doubled the orders from the same traffic, with no new spend. Had Méabh put a second van on the Limerick run in month one, she would have paid for capacity to serve customers her own website was turning away.

Local search that understands local intent

Local search is where bootstrapped territories are won or lost, because it is the one channel where someone in the new city is already telling you what they want. Most local search efforts target the city name and generic words and call it done. "Meal kit Limerick" is a start, not a strategy.

Two halves to this. The free half is your Business Profile on Google. Google says plainly that local results are ranked on three things: relevance, how well the profile matches what someone is searching for, distance, how far the business is from the searcher, and prominence, how well known the business is.1 It also says there is no way to pay for a better local ranking, and that businesses with complete and accurate information are more likely to show up.1 Read those three words as a to do list. Relevance you control with your categories, your description and the words your new customers actually use. Distance you cannot fake, but a business that delivers or travels to customers can be set up as a service area business, should hide its address, and may set a service area of up to about two hours of driving time from its base.2 Prominence you earn, slowly, with reviews from people in the new city and mentions in places the new city reads.

The other half is understanding intent, and this is my own method rather than Google's. Before I write a page for a new territory I collect the actual queries people there use, from the search console, the site search box, the support inbox, and the people I meet. I sort them into three piles: "I want this now", "I am comparing", and "I am not sure this is for me". The urgent pile gets the order path, short. The comparing pile gets an honest page against the alternatives. The unsure pile gets answers to the questions they are really asking, like whether you deliver to the villages, whether there is a minimum, what happens on a bank holiday week.

Worked example: Leebox learns how Limerick searches

Méabh sets her Business Profile up as a service area business covering Limerick city and the V94 and V35 routing areas around it, all of it well inside the two hours of driving from her unit in Cork that Google allows, hides the unit's address as Google asks, and rewrites the description so it mentions recipe boxes and meal kits delivered in Limerick on Wednesdays. The four Limerick reviews go up. Relevance and the beginnings of prominence, in a week.

Then the intent work. From a month of search console data and the support inbox she finds that Limerick people type "recipe box" about as often as "meal kit", that a quarter of the questions ask whether she delivers to Castletroy, Raheen and Caherdavin, and that "vegetarian recipe box Limerick" is the commonest comparing query. So the Limerick page gets a list of the areas she delivers to, in the words Limerick uses, a vegetarian section that was buried on the Cork site, and a plain answer to "do you deliver out the Ennis Road". None of it is clever. All of it comes from reading what Limerick actually asked.

Paid search is the second half, and for a bootstrapped territory it is where money is most easily wasted. Google Ads lets you target countries, regions, cities or postal codes, or a radius of at least one kilometre around a location, and Google's own advice is to target the locations where your customers are, not only where your business is.3

The setting people miss is deeper than the city name. By default Google Ads reaches people who are in the targeted area and people who have shown interest in it, a setting Google calls presence or interest and recommends.4 For a national brand that is fine. For a meal kit company it means paying for clicks from someone in Dublin planning a weekend in Limerick. I switch a territory campaign to the presence option, which limits ads to people who are likely to be in, or regularly in, the targeted location.4 Google documents both options. The choice is mine, on the simple logic that a delivery business can only serve people who are actually there.

Then the keywords follow the three intent piles. The urgent pile bids highest, the comparing pile gets an ad that names the alternative honestly, and the unsure pile gets no paid traffic at all, because a page answers those questions for free.

Worked example: €600 a month, drawn around Limerick

Méabh's Limerick campaign targets the city of Limerick, set to presence only, and excludes Cork, because Cork searchers already find her organically and she does not want to pay for them twice. Her month one budget is €600. The urgent terms, "recipe box Limerick", "meal kit delivery Limerick", "vegetarian recipe box Limerick", take €450 of it. The comparing terms, the two national meal kit brands plus "Limerick", take €150, with an ad that says plainly that Leebox cooks in Cork, an hour down the road, and delivers on Wednesday.

She watches two things only: how many first orders the campaign brings, and what each costs. In month one that is 18 first orders from €600, so €33.33 each. The rest of her 27 Limerick first orders came from organic search and word of mouth. That split tells her where the money is working.

Partnerships that move a KPI

Local partnerships are the part of a territory launch everyone enjoys and almost nobody measures. A logo on a slide, a mention in a newsletter, a stack of flyers on a counter. None of that is a partnership. A partnership is an arrangement where a specific number, a key performance indicator (KPI), moves and you can see it move.

I look for three things in a local partner: they see my kind of customer at a moment when my offer makes sense, there is a direct route from seeing to acting (a code, a link, a form, a walk in), and the partner's own customer wins something too. Then every partnership gets its own code or link, and a date by which it has to have moved the number or it stops. If you cannot see which partner sent which customer, you will keep the one with the best logo and drop the one that actually works. UTM parameters do this for links, a unique code does it for anything offline.

Worked example: a running club beats a magazine

Méabh tries two Limerick partnerships in month three, each with its own code.

The first is a Limerick running club that meets on Tuesday evenings along the Shannon. Every member gets a free first box with the code LIMRUN, and the organiser gets one free box a month for the newsletter mention. Members are hungry people who want to eat well on a weekday evening and have just been reminded of it. Twenty two of them use the code in the month. The cost is 23 free boxes at €14 of contribution each, so €322, or €14.64 per new customer.

The second is a listing in a Limerick lifestyle magazine's "local makers" feature, €400 for the month, with the code LIMLIFE. It looks lovely. Three people use the code. That is €133.33 per customer, more than twice Méabh's ceiling, which I come to next.

The running club gets a second month and a sister club out in Castletroy. The magazine does not. Without the two codes, Méabh would have had 25 new customers, a warm feeling about the magazine, and no idea which to repeat.

Cross functional wins: the people who already know what breaks

Growth in a new territory is a coordination problem before it is a marketing problem. Whoever delivers, serves or installs in the new city knows what breaks there within a week. Whoever answers the support inbox hears the real objections within a fortnight. Marketing sees which message gets clicked. The people who decide what to build or change rarely hear any of it unless somebody builds the bridge on purpose.

In a one person business the bridge is a notebook. In a business of twelve it is a short weekly conversation with one agenda: what did the new territory teach us this week, and what one thing do we change because of it.

Worked example: twenty minutes on a Monday

Méabh runs Leebox with five people: two drivers, one in the kitchen, one on the support inbox and herself. From month two she adds twenty minutes on Monday morning about Limerick only. Three things come out of the first one.

Her Limerick driver says the Wednesday run loses forty minutes to parking in the Georgian streets around Pery Square and the Crescent, so the two hour window is being missed out in Castletroy. Méabh changes the Limerick slot from "6pm to 8pm" to "6pm to 9pm" and the missed deliveries stop. The support inbox has had the same question six times, whether the box survives on a doorstep if nobody is in, because Limerick's older terraces open straight onto the footpath where Cork's suburbs have a porch. A line about the insulated liner goes on the Limerick page and the question stops arriving. And the kitchen notes that Limerick orders skew vegetarian, roughly a third against a fifth in Cork, which changes the Wednesday prep and confirms what the search data said.

Three fixes, twenty minutes, no spend. That is worth more than another €300 of ads.

Measure the territory on its own: cost per customer, average and marginal

Now the measurement that decides when a territory is working and when it is full. The headline number is the cost per acquired customer for the territory.

CACterritory=total spend on the territorynew customers from the territory\text{CAC}_{\text{territory}} = \frac{\text{total spend on the territory}}{\text{new customers from the territory}}

Here CACterritory\text{CAC}_{\text{territory}} is the average cost to acquire one customer in that territory, the numerator is everything spent to win customers there in the period (ads, partner costs, free boxes, flyers, the lot), and the denominator is the number of first orders from the territory in the same period. It is another ratio, so the same groundwork applies, in Foundations: ratios and rates.

That average lies at the edges, because the next euro never behaves like the average euro. What I actually watch is the marginal cost: what the last increase in spend cost per extra customer it brought.

CACmarginal=ΔspendΔnew customers\text{CAC}_{\text{marginal}} = \frac{\Delta \text{spend}}{\Delta \text{new customers}}

Here CACmarginal\text{CAC}_{\text{marginal}} is the cost of each additional customer won by the latest increase in spend, Δspend\Delta \text{spend} is the increase in territory spend from one period to the next, and Δnew customers\Delta \text{new customers} is the increase in first orders over the same two periods. The reasoning, and why a business that scales on the average walks into a wall, is in Foundations: marginal versus average.

Both numbers need a ceiling to be judged against: the most you can pay for a customer and still have the territory pay for itself. I set it from the contribution a customer leaves and how quickly the owner needs the money back. When the marginal cost crosses the ceiling, the territory is telling you it is full for now. That is the moment to open the next city, not to spend harder.

Worked example: Limerick tells Méabh when to open Galway

Méabh's ceiling. Each box leaves €14 and a customer orders ten boxes, so a customer is worth about €140 in contribution. She wants the cost of winning a customer back within the first four boxes, which is €56. She rounds down to a ceiling of €50.

Month one in Limerick: €600 of ads plus €300 of flyers and free samples at the Milk Market, so €900, and 27 new customers. That gives CACLimerick=90027=33.33\text{CAC}_{\text{Limerick}} = \frac{900}{27} = 33.33, so €33.33 a customer.

Month two, after the leaks are fixed: €1,100 of spend and 63 new customers, so €17.46 each. Month four, with the running club running and the page tuned: €1,500 of spend and 95 new customers, so €15.79. Limerick looks grand on the average and Méabh is tempted to double down.

Month five she raises Limerick spend to €2,400. New customers rise to 110. The average is still fine: CACLimerick=2,400110=21.82\text{CAC}_{\text{Limerick}} = \frac{2{,}400}{110} = 21.82, so €21.82 a customer. But the marginal cost of that step is a different story: CACmarginal=2,400−1,500110−95=90015=60\text{CAC}_{\text{marginal}} = \frac{2{,}400 - 1{,}500}{110 - 95} = \frac{900}{15} = 60.

The extra €900 bought 15 extra customers at €60 each, above her €50 ceiling. The average, at €21.82, hides it completely. Limerick has not stopped working. It has stopped rewarding more money. So Méabh holds Limerick spend at about €1,500, where the marginal cost was still well under the ceiling, and the extra €900 a month goes to Galway. The data, not the map, opened the second city.

Let a territory compound before you leave it

The reason to hold a territory rather than abandon it when it stops rewarding more spend is that it keeps growing on its own if you have done the first four steps properly. Customers reorder. They tell neighbours. Reviews pile up and prominence improves. The partnerships keep producing. That growth compounds, because each month's new customers are added to a base that is itself bigger than last month's.

Ct=C0 (1+g)tC_t = C_0 \,(1 + g)^t

Here CtC_t is the number of active customers in the territory after tt months, C0C_0 is the number you start counting from, gg is the net monthly growth rate as a fraction (new customers minus those who stop, over the base), and tt is the number of months. The habit this formula cures is adding percentages across months, which understates growth badly over a year. The full explanation, with the rule of 70 for how long a doubling takes, is in Foundations: compounding.

Worked example: Limerick and Galway over six months

Méabh counts active customers at the end of each month, meaning they took a box that month. She loses about 15% of them to the following month, as in Cork. So each month's actives are 85% of last month's plus the new customers.

Limerick: month one, 27 new, so 27 active. Month two, 27×0.85+63=23+63=8627 \times 0.85 + 63 = 23 + 63 = 86. Month three, 80 new, 86×0.85+80=73+80=15386 \times 0.85 + 80 = 73 + 80 = 153. Month four, 95 new, 153×0.85+95=130+95=225153 \times 0.85 + 95 = 130 + 95 = 225. Month five, 110 new, 225×0.85+110=191+110=301225 \times 0.85 + 110 = 191 + 110 = 301. Month six, with spend held, 105 new, 301×0.85+105=256+105=361301 \times 0.85 + 105 = 256 + 105 = 361.

Galway opens in month four with the €900 Limerick no longer needs, and runs the same sequence a little faster because Méabh has done it once: 40 new in month four, 75 in month five, 95 in month six. Actives: 40, then 40×0.85+75=34+75=10940 \times 0.85 + 75 = 34 + 75 = 109, then 109×0.85+95=93+95=188109 \times 0.85 + 95 = 93 + 95 = 188.

Active customers per territory over six monthsA line chart over six months. Limerick starts at 27 active customers in month one and climbs to 86, 153, 225, 301 and 361 by month six, with the curve flattening slightly once spend is held in month five. Galway is at zero for the first three months, opens in month four at 40, then 109 and 188 by month six.Leebox, invented figures, active customers by territory0125250375500Month 1Month 2Month 3Month 4Month 5Month 6LimerickGalwayActive customersMonth since the Limerick launch

The horizontal axis is the month since Limerick opened. The vertical axis is the number of active customers in each territory at the end of that month. Limerick's line rises fastest between months two and four, where the leak fixes and the running club land, and keeps rising after month five even though spend is held, because the base of existing customers is now doing part of the work. Galway's line starts in month four and is steeper than Limerick's was at the same age, because the second launch skips the mistakes of the first.

The compounding is easiest to see over Limerick's months two to six. From 86 to 361 in four months is a factor of 4.2, and the monthly rate that compounds to that is 4.24−1≈0.43\sqrt[4]{4.2} - 1 \approx 0.43, about 43% a month. That is launch growth and will not last. But suppose Limerick settles at a modest net 8% a month from month six. After twelve more months it would have 361×1.0812=361×2.52≈909361 \times 1.08^{12} = 361 \times 2.52 \approx 909 active customers. Someone adding 8% twelve times would expect 96% growth and predict about 708. The gap of 200 customers is the compounding. It is also the money that funds city number three.

Then the next city, and the one after that

Galway is not a repeat of Limerick, because Galway is a different place. The sequence is the same, the content of each step is not. Méabh learns Galway's context before she writes a word, reads how Galway searches in both of its languages, with the Gaeltacht on its doorstep, and finds Galway's version of the running club. Then she sets the same ceiling, watches the same marginal cost, and lets Galway tell her when Waterford or Kilkenny comes next.

The same six steps work at the scale of a country, with a bridge market standing in for the first city. I have written that up separately for businesses testing in Austria or Switzerland before entering Germany. The loops that make a territory compound are the same loops that make a whole business compound, which is the subject of the growth flywheel.

What to do this week

If you are about to take on a new town, do three things before you spend a euro on it. Pull your Eircode checker logs, your enquiry addresses and your failed deliveries, and see which town is already asking for you. Spend a day there with a notebook. Then set your ceiling: the most a customer may cost you and still pay for themselves within the period you can afford to wait.

Then open the territory, measure it on its own, and let it pay for the next one. It is not a budget. It is a sequence, and the order is the whole trick. No bother.

Footnotes

  1. Google, Tips to improve your local ranking on Google, Google Business Profile Help, https://support.google.com/business/answer/7091

  2. Google, Guidelines for representing your business on Google, Google Business Profile Help, https://support.google.com/business/answer/3038177

  3. Google, Target ads to geographic locations, Google Ads Help, https://support.google.com/google-ads/answer/1722043

  4. Google, About advanced location options, Google Ads Help, https://support.google.com/google-ads/answer/1722038

If you are about to open a new town or region, I am happy to run the sequence with you in a free workshop: the territory the data is pointing at, the leaks on its path to purchase, and the ceiling that tells you when the next city opens. The first two weeks of work are on me, no bother.