The brief
OH! Catering is a catering business in Ottawa, Ontario, founded in the summer of 2026 by Anastasiia Stepanenko, who also founded the Cookiddoo cooking school for children. It builds styled share tables for home parties, showers, brunches and office events, for roughly 12 to 50 guests. Food is prepared in a rented commercial kitchen, delivered and composed on the table in the client's own room. The first public outing was a stand at UAFest 2026 in Carleton Place.
That model shapes everything a website has to do. There is no storefront, no street address to put on a map and no walk-in trade. Every order starts with a stranger who searches "party catering Ottawa" or "grazing table", looks at a price, and decides in a minute or two whether to ask. A catering site that hides its prices behind "contact us for a quote" loses that person to the next result.
The repository for the site was opened on 25 August 2026. The brief was short: a site that sells tables, publishes the real numbers, takes an enquiry in four fields, and gets found in Ottawa search before the December party season.
What we built
A quote form on the first screen

The form asks four things: name, a phone number or an e-mail (either one is enough), an approximate date and a guest count. Everything else, from dietary notes to the address, is collected when the quote goes out. The headline carries the two numbers a buyer looks for first, "from $42 per guest" and "$600 event minimum", and the phone number and WhatsApp link sit right under them for people who would rather talk.
On a phone the same form sits directly under the headline, and a sticky button brings it back from anywhere further down the page.



Prices in public
The pricing page carries every number the business publishes: $42 per guest as the starting price with a working range of $42 to $65, the $600 event minimum before delivery and taxes, $45 for delivery and on-site styling within 25 km, a 30% deposit that holds the date, and two worked totals. Price is the first filter in this category, and a visible figure sends away the people who wanted a $15 sandwich tray before they spend anyone's time.
Five languages, one source of facts
The site runs in English, Canadian French, Ukrainian, Spanish and Russian. On 30 October 2026 the sitemap listed 367 URLs with hreflang links between the language versions. Every figure the site prints comes from one facts file shared by all five languages, so a price is changed in one place and cannot drift in a single translation.
An enquiry lands in three places at once
Each submitted form is written to a Google Sheet, posted into the team's Telegram chat and sent by e-mail, with an automatic reply going to the client. The sheet keeps the source of every enquiry: the referrer, the landing page, UTM tags and the Google click id when there is one. That column is what made the numbers in this case possible.
Search and AI-search groundwork
Search Console and Bing Webmaster Tools are connected, the sitemap carries honest last-modified dates, new pages are pushed through IndexNow, and an llms.txt file describes the business for AI assistants. The content side is a set of occasion pages, Ottawa district pages and a journal. The journal piece that earned its keep is a long guide to what catering costs in Ottawa, which compares drop-off, styled tables, buffet and plated service per guest and then places OH!'s own prices inside that frame.

A short quiz for people who are still deciding
For visitors who are not ready to type a date, /lp/plan asks six one-tap questions, starting with "What are we celebrating?". Two of the nine enquiries in this case came through it.

The first enquiry
Google Search Console recorded the site's first impressions on 29 August 2026. On 12 September the first real enquiry came in: a baby shower for 26 guests on a November afternoon, from a visitor who had found the site through DuckDuckGo and landed on the home page. Fourteen days separated the first impression from the first request for a quote.
Everything in the sheet before that date was ours: end-to-end checks of the server, the mail forwarding and the autoreply, each marked "not a real enquiry". Separating those rows from the client's rows is the first thing any honest count of a new site's leads has to do.
The Google Ads test
A search campaign, "OH | Search | Party Catering Ottawa", ran from 16 to 19 October 2026 and pointed at short landing pages with the form on the first screen. The Google Ads API report pulled on 20 October shows 95.16 CAD spent, 452 impressions and 53 clicks.

One click became an enquiry: a home party for 9 guests, submitted on 17 October from /lp/party-catering with a Google click id that matched a click on "catering ottawa". Google Ads showed zero conversions, and working out why took most of the analysis. The conversion action used for server-side upload had been created on 17 October, a few hours after that click, and Google rejects a conversion older than its action (DESTINATION_TOO_RECENTLY_CREATED). GA4 saw 1 of the 60 paid visits that reached the site, because the others never accepted the cookie banner. So the bidding strategy had nothing to learn from.
The same report traced where the money went. Fifteen of the 53 clicks, 30% of the spend, came through sitelinks that sent people to ordinary pages, and on /menu the form sat about 9,100 pixels down the page. The broad-match keyword "party catering ottawa" took 40% of the spend. Nobody who arrived through a sitelink left an enquiry.
The campaign was paused on 20 October. The same day the landing pages got a worked total ("20 guests: $885 with delivery and setup, plus tax"), a quote button visible above the cookie banner on the first screen, a phone-or-e-mail field that accepts either, and the menu form moved up to roughly 3,900 pixels. Every enquiry with a click id is now uploaded to Google Ads through the Data Manager API on an hourly timer, and each upload is checked against Google's own status response.
What happened
The enquiry sheet, read on 30 October 2026 with tests and spam-flagged rows removed, holds 9 event enquiries between 30 August and 30 October:
- 5 from Google organic search: two landed on the home page and went on through the planning quiz, the others on /pricing, the grazing tables page and the cost guide;
- 1 from DuckDuckGo (the first one, 12 September);
- 1 from ChatGPT, which sent a visitor to /pricing for a 50-guest wedding enquiry on 25 October;
- 1 from the Google Ads test;
- 1 from a corporate outreach campaign for tasting boxes in Kanata North.
Weekly clicks from Google Search went from 2 in the week of 31 August to 65 in the week of 19 October, and impressions in those two weeks from 313 to 4,779 (Search Console, export 30 October 2026). The jump in the last full week came after the 14 October rebuild of the home page around the quote form.
What this case does not show is bookings. The sheet records enquiries, and which of them became paid events lives in the team's conversations, so it is left out until it is counted the same way.
What we would do next
Count bookings in the same sheet. A status column filled the day a deposit lands turns "9 enquiries" into a cost per booked event, which is the number that decides where the next dollar goes.
A second Google Ads round, with a stop rule. Phrase match in place of broad, sitelinks only to landing pages, a lower click ceiling, and a stop at 120 clicks with fewer than 2 enquiries, with the money moved to an office-lunch campaign for Kanata North.
December before November ends. Christmas office parties book early, and the site already collects impressions for "catering christmas party". Pages for office holiday tables need to be indexed by mid-November.
Reviews. The business has a Google Maps listing since 6 October. A review request on the day of each event is the cheapest trust signal a service-area business can collect.
Related
The same founder's first project with us: Cookiddoo, kids cooking classes in Ottawa. For the build: landing page development. For search: SEO promotion and promotion in AI search. Local context: marketing agency in Ottawa.
Project lead: Marketing MIX. Client: OH! Catering (ohcatering.ca), Ottawa, Ontario. Year: 2026.

