About Services Cases Blog Tools Reviews Partners Contacts

Sushi Delivery Media Planning: Forecasting Potential and a Google Ads Launch Strategy

Sushi Delivery Media Planning — Forecasting Potential and a Google Ads Strategy

Another real example of media planning — this time a sushi delivery chain operating in two cities. Unlike the previous flower delivery case, there are two extra dimensions here right away: the potential has to be calculated separately for each city, and the client came with an ad account that was already running (or rather, broken).

Contents
  1. 1. Purpose of the document
  2. 2. Methodology and key points
  3. 3. Search potential and budget
  4. 4. Order conversion scenarios
  5. 5. Problems in the current ad account
  6. 6. Recommended campaign structure
  7. Conclusion
  8. FAQ

1. Purpose of the document

Assess the market potential for sushi delivery in two cities based on search demand, build a media plan and a recommended campaign structure.

2. Methodology and key points

  • The budget is calculated as search volume × average CTR × average CPC — this is a ceiling (maximum) amount above which spend stops being efficient, not a recommended budget as such.
  • The forecast doesn't account for seasonality (the business is seasonal) or force majeure.
  • This is a forecast, not a guarantee of results — it's based on publicly available data from Keyword Planner, market benchmarks and my experience running active projects in this niche and region.
  • It doesn't account for the effect of brand awareness on future metrics (it will grow over time and will likely push conversion rates above the scenarios used here).

3. Search potential and budget

Method: Budget = Search volume × CTR (generic 10%, brand 40%) × CPC (average between the low and high bid range).

CitySegmentVolume/moCPCClicks/moBudget/mo
KyivGeneric queries60 45019.68 UAH ($0.44)6 045118,955 UAH ($2,643)
Brand queries19 7607.38 UAH ($0.16)7 90458,362 UAH ($1,297)
DniproGeneric queries51 05013.92 UAH ($0.31)5 10571,057 UAH ($1,579)
Brand queries5 7006.64 UAH ($0.15)2 28015,141 UAH ($336)
Total budget ceiling~263,515 UAH ($5,856)/mo

The calculations were done separately for each city and separately by query type (generic/brand), since CPC and CR differ significantly.

4. Order conversion scenarios

Generic queries: 5% / 7% / 10%

The brand is well enough known, so the lower bound was raised to 5% (the 3% scenario was dropped).

CityBudget/mo5%7%10%
Kyiv118,955 UAH ($2,643)302 orders / CPL 394 UAH ($8.8)423 orders / CPL 281 UAH ($6.2)604 orders / CPL 197 UAH ($4.4)
Dnipro71,057 UAH ($1,579)255 orders / CPL 278 UAH ($6.2)357 orders / CPL 199 UAH ($4.4)510 orders / CPL 139 UAH ($3.1)

Brand queries: 20% / 25% / 30%

CityBudget/mo20%25%30%
Kyiv58,362 UAH ($1,297)1,581 orders / CPL 37 UAH ($0.82)1,976 orders / CPL 30 UAH ($0.67)2,371 orders / CPL 25 UAH ($0.56)
Dnipro15,141 UAH ($336)456 orders / CPL 33 UAH ($0.73)570 orders / CPL 27 UAH ($0.60)684 orders / CPL 22 UAH ($0.49)

Limitation of the brand segment: it's physically capped by the number of brand searches in Keyword Planner — this isn't “market potential” but “the potential of current awareness.” As the brand grows, brand search volume will grow too.

5. Problems in the current ad account

5.1. Broken conversion tracking

In the current ad account, the purchase conversion rate is 40–55% across non-brand and brand campaigns, with cost per conversion starting at 0.62 UAH ($0.01). With an average order of 1,500 UAH ($33), that gives a ROAS of ×837, which is technically and economically impossible (it would mean ~568 orders a day from a budget of ~30,000 UAH ($667) a month).

Conclusion: the purchase event is recorded incorrectly on the site — duplicated or tripled, or fired not on a real order but on an intermediate funnel step (probably related to the ChoiceQR architecture — checkout/payment via an iframe or a separate processing domain). The exact distortion factor is not yet known.

Next step: reconcile conversions with the client's real orders for a month (from the ChoiceQR/POS admin), establish the data distortion factor, and hand the result to the ChoiceQR developers / the client's tech team to fix the tracking.

5.2. Account blocked due to an incorrect payments profile

The current ad account is blocked. The reason is that the payments profile was set up incorrectly: the FOP (sole proprietor) was entered as the “Organization” type, even though a FOP is an individual, not a legal entity (not an LLC, not an organization). Google doesn't see a FOP as an organization in its verification system, so the account failed verification and, as a result, was blocked.

Google Ads Account Suspended over Verification: What to Do and How to Recover Fast

Video: Google Ads Account Suspended over Verification: What to Do and How to Recover Fast

Next step: recreate the payments profile with the correct type (Individual instead of Organization) and go through verification again. Also eliminate the extra 20% VAT on advertising (the so-called “Google tax”). In the current setup, the client was paying this 20% on top for no reason.

6. Recommended campaign structure

Three formats that actually work in food delivery (based on 6 years of experience and dozens of projects in pizza, sushi and Asian food delivery):

6.1. Local campaigns (Performance Max / Maps)

The most effective tool — the closer the user is to the location, the higher the chance of an order.

  • Split into 2 directions: with brand keywords / without brand keywords (generic only).
  • Critical limitation: one local campaign = one location on the map. You can't combine several locations in one campaign.
  • Why splitting by location matters: it lets you boost a specific location on its own (impossible in a single campaign covering all locations in a city).

6.2. Search campaigns

  • Split: brand / generic (generic = without your own brand and without competitor brands).
  • Campaigns on competitor brands: they'll be tested, but not at the first stage. The reason is consistently low conversion (the user is looking for a specific brand, and we “barge in” with our ad).
  • Competitor testing comes at the scaling stage, once the potential of generic queries is exhausted (they convert better than competitor brand queries).
  • Rule for choosing competitors to target: the same price segment, otherwise you're just burning budget. A mid-price chain has no reason to target a discounter in the same niche — it's a different audience.
  • In my 6 years of practice, targeting a competitor works better if the competitor is less known than us, or has reputation problems while still having a loyal audience.

6.3. Performance Max

It can likewise be split into campaigns with / without brand keywords.

6.4. General structure principle

Campaign structure depends on the budget: first we define the budget, then build the structure around it. With a small budget, you can't make a separate campaign for every location.

Conclusion

This case shows a picture typical of food delivery: the client comes with an ad account that looks “working” (there are conversions, there's ROAS), but the numbers are technically impossible — and in reality the account is blocked and the tracking is broken. In a case like this, a media plan isn't just a forecast of potential but also a diagnosis of what's really happening in the account before talking about scaling.

Check search volumes and seasonality for your city and niche in the free keyword research tool.

Related services
Google Ads management Full cycle: campaigns, analytics, CRM integration and reporting on real sales, not in-platform conversions. from $450 / monthLearn more Google Ads consultation Your specific question worked through on Zoom or Google Meet: performance drops, conversions, launch strategy. $50 / hourLearn more
Suspect your conversion tracking shows unrealistic numbers? Get in touch, I'll check

FAQ on the topic

Frequently asked questions

What does the “budget ceiling” mean in a media plan?
It's not a recommended budget but a ceiling: an amount calculated from search volume, CTR and CPC, above which extra spend will no longer be efficient within current demand.
Why is a ROAS of 837x a sign of a problem, not success?
A ROAS like that would mathematically mean hundreds of orders a day from a budget of 30,000 UAH ($667) a month — physically impossible for a business of this size. It's a sign of broken conversion tracking, not real performance.
Why does a sole proprietor (FOP) payments profile get the account blocked if it's set as “Organization”?
A FOP (Ukrainian sole proprietor) is an individual entrepreneur, not a legal entity. Google doesn't see a FOP as an organization in its verification system, so a profile with the “Organization” type fails verification and the account gets blocked.
Why shouldn't you target competitor brands right away?
A user searching for a specific competitor brand rarely converts into an order from another brand. This is tested at the scaling stage, once the potential of generic queries is exhausted, and only on competitors in the same price segment.
Why can't one local campaign cover several locations of a chain?
It's a technical limitation of Google Ads: a local campaign (Performance Max for Maps) is tied to a single location. Splitting by location also lets you boost a specific location separately from the others.



Contact

Let's discuss
your project

Leave a request — we'll assess your situation, discuss your goals and find the best solution for your business and budget.

🏆
As a Google Partner, I can help you get a Google Ads bonus of up to 55,000 UAH ($1.2K) for your first campaigns.
❌ I don't work with: gambling · betting · alcohol · tobacco · crypto · grey niches · payday loans
▸ new_project.init()
Discuss a project