The brief

UAFest is the Ukrainian festival of Lanark County, organised by the Ukrainian Community of Lanark County (UCLC), an Ontario not-for-profit. The fourth edition, UAFest 2026 — Ukrainian Festival near Ottawa, took place on Sunday 13 September 2026, from noon to 6 pm, at Riverside Park in Carleton Place, about 45 minutes west of Ottawa. Admission is free and the festival is run by volunteers. Marketing MIX is one of its organising partners, so this case describes work on an event we help to run.

For 2025 we had built a one-page mobile guide for the festival day; that work has its own case. Around it the festival's web presence was a Squarespace site at uflc.ca. Applications came in through Google Forms and were worked in spreadsheets and personal inboxes, and the logins for listing and social platforms sat with individual volunteers from earlier years.

On 22 July 2026 the organisers made the decision that shaped the season: uafest.ca becomes the single source for every fact about the festival (date, hours, address, phone, links), and every registration for 2026 happens there, in English, Ukrainian and French. The name is written the same way everywhere, "UAFest 2026 - Ukrainian Festival near Ottawa", because a person in Ottawa searches for the capital, and a vendor looking us up in an insurer's system searches by the name they saw on our page.

The season's brief: a site that tells the story and takes every kind of sign-up, a back office where the team works those sign-ups without spreadsheets, and enough search, press and video around both that people in the Ottawa Valley found the festival in time.

What we built

uafest.ca from a blank repository

The new code started at the end of June 2026 and the domain moved to it on 10 July. The Ukrainian edition followed within days and the French one on 17 August, as full twins of the English pages with hreflang between them.

Every date, time and address on the site comes from one record in the code. That record earned its place in August. A planning document carried an 8 pm close, and that hour had spread into the event markup, the Google Calendar link, the confirmation letters and the press kit. The organisers confirmed noon to 6 pm on 2 August; on 11 August the hour was corrected across the site, the calendar file became generated from the same record, and on 17 August the press-kit PDFs were rebuilt and checked with a text extractor for any trace of the old hour.

uafest.ca home page after the festival: thank-you hero, merch strip, photo recap, the Rushnyk story and the convoy section
Fig. 1 — uafest.ca home page in post-festival mode, desktop, 30 Oct 2026

Sign-up funnels that open a cabinet

Seven public funnels feed the same intake: guest pre-registration at /attend (live from 28 July), volunteers, vendors, sponsors, performers, the Unity Ride & Drive convoy and business networking. A submission is written to a durable table first, then becomes a CRM application, and a line goes to the organising team's Telegram chat.

Volunteers, convoy drivers and guests are approved on submission. Their participant cabinet opens, their pass becomes active, and one letter in the language of the form puts a button into the right group chat in front of them. On the night before the festival several volunteers and guests were still parked in "new" or "waiting". Since 13 September the rule lives in three places: the status code, the intake and provisioning routes, and database triggers that approve the application and activate the pass, so any new import path inherits it. Vendors, sponsors and performers stay with a human, because each one involves money, a pitch on the grounds or a slot in the programme.

The convoy funnel shows how a working chain can still lose people. On 11 September, two days out, drivers were registering and not joining their Telegram group. Live registrations through the production form proved the letters arrived within the second. The group link sat in the letter as a line of text, while both buttons led to the event page and to the cabinet. The main yellow button became "Join the drivers' Telegram group" in all three languages, and a short follow-up with that single button went to the drivers already registered. The same check turned up a second fault: from 31 August to 10 September the domain's mail was signed with a DKIM selector that had no key published in DNS, which pushes mail towards spam folders at Gmail, Hotmail and Yahoo.

uafest.ca home page on a phone with the 2027 waiting-list button first
Home on a phone, 30 Oct 2026
Volunteer page on a phone inviting people to the 2027 volunteer list
Volunteer page, now pointing at 2027
UAFest 2027 waiting-list form on a phone with eight ways to take part
2027 waiting list with role choice

The volunteer cabinet, the pass and self check-in

A volunteer's cabinet carries a signed QR pass, a shareable badge drawn as an embroidered patch on linen in three languages, and an invite-a-friend link that carries the volunteer's own campaign tag, so a referral is counted like any other campaign. On the night before the festival we added self check-in: an "I'm here" button in the cabinet sends the phone's location, and the server accepts it within 600 metres of the centre of Riverside Park plus the phone's reported accuracy. A coordinator screen shows who is on site, and a QR poster at the volunteer tent leads newcomers to /checkin.

Bilingual volunteer check-in page on a phone with two choices: already applied, or first time here
Fig. 2 — /checkin, the page behind the QR poster at the volunteer tent, 30 Oct 2026

The back office

The CRM has lived at uafest.ca/crm since 11 August 2026, in the same codebase as the site, behind Google sign-in. It holds applications by workstream (vendors, sponsors, volunteers, performers, guests, the convoy, operations), the team's mailboxes synced in, a queue of letters waiting for signature where each department lead signs their own funnel, pass issuing and a gate scanner. We show no screenshots of it here: every screen holds real people's names and contacts.

On 11 September a newly enabled automation rule e-mailed the owner once per item overnight. Since then the team gets one digest in its Telegram chat at 9 am Toronto time, grouped by block of work, each line with a count of what is open and a link to that block.

Another fix came from a question on 10 September: did the convoy sign-ups come from the Facebook ads or from people the organisers knew? None of the applications on file carried a source. The chain broke in three places at once: only the volunteer form read the campaign tags from the address, that form put them in the wrong object, and a sanitiser that flattens any nested field to an empty string erased them before the route saw them. The convoy, guest, vendor, performer, sponsor and project forms now collect the tags as well, the sanitiser lets attribution through as strings, channels are grouped the way GA4 groups them, and the applications table has a Channel column. Applications from before 10 September keep an empty source; we did not paint one in after the fact.

Press, sponsors and video

The sponsor list for 2026 was approved by the team on 10 September and loaded into the CRM with a publication flag on each name: publish, do not publish, or confirm first. The report page now credits 31 sponsors and partners, from Lanark County and the Shevchenko Foundation to local businesses and seven Rotary bodies.

Press contacts live in the same CRM; on 30 October it held 260 contacts in the media direction. For the post-festival letters on 20 and 21 September the outreach engine learned to carry a personal letter for each editor inside one campaign, plus a final "published" step, so the funnel runs from sent to printed in one view. The report page lists 14 pieces of coverage between 6 August and 15 September, among them CBC News, CTV News Ottawa, The Lanarkist, Hometown News, The Millstone and CKCU 93.1 FM.

On 17 September the season was recorded as a 31-minute review, "80 days of digital UAFest", published on YouTube and on uafest.ca with chapters and a transcript, and cut into short vertical reels for YouTube Shorts, TikTok, Facebook and LinkedIn. Three days later Google had not crawled either video page: both were linked only from the sitemap. Links in the footer moved them to "discovered" within minutes.

Ukrainian-language season chronicle page with week-by-week timeline across five streams of work
Fig. 3 — "80 days of digital UAFest", the season chronicle (Ukrainian only), 30 Oct 2026
UAFest 2026 report page with photo grid, the day's timeline, thanks, sponsors and press list
Fig. 4 — /festival-2026, the public report with photos, sponsors and press, 30 Oct 2026

Search and AI answers

Brand searches for a local festival are few, so the guide topics came from Bing keyword data for Canada: Ukrainian recipes and the towns around Carleton Place. On 30 October the guides library at /guides lists 22 guides in English, each with Ukrainian and French versions where translated, carrying Recipe, Article and FAQ markup. The festival pages carry Event markup from the same fact record, and /llms.txt gives AI assistants the key facts in plain text, including the line that the 2026 guest count is still being finalised.

After the festival two waves went live. On 5 October the festival report and the Rushnyk's Toronto stop got answer-first opening paragraphs. On 11 October we fixed a layout shift: the header decided phone or desktop in the browser after load, so phones received the desktop header first, and cumulative layout shift on the measured pages fell from 0.659 to 0, by a Playwright measurement in the 11 October report. The same wave added winter guides ahead of the December season.

uafest.ca guide explaining salo, with photographs and a comparison of salo, lard and bacon
Fig. 5 — the salo guide, the page with the most search impressions after the festival, 30 Oct 2026

What happened

Search. From 30 July to 28 October 2026 uafest.ca received 1,874 clicks and 70,435 impressions from Google Search (Search Console, sc-domain:uafest.ca, export 30 October). Clicks climbed through August and peaked in the week of 7 September at 703, with 293 on festival day itself. The two largest queries over the period were "ukrainian festival carleton place", 121 clicks at an average position of 1.12, and "ukrainian festival ottawa 2026", 98 clicks at 2.14.

After the festival clicks fell to 152 in the week of 14 September while impressions rose to 11,572, the highest weekly figure in the period: people stopped looking for the date and the guides kept surfacing. From 14 September to 28 October the salo guide alone drew 11,392 impressions and 47 clicks, a click-through rate of 0.41%. Its title now answers the question people type, "What is salo?".

Visitors. GA4 counted 4,683 active users, 7,133 sessions and 8,871 page views on the public site from 1 June to 30 September 2026, with the CRM excluded (property 543967631, export 1 October; uafest.ca data starts on 10 July). Ottawa brought 1,538 of those users, Toronto 899, Montreal 348 and Carleton Place 133. Across all hostnames, Organic Search brought 1,393 active users, Paid Social 395 and AI assistants 127; in the source report chatgpt.com alone accounts for 125 users.

Operations. On 30 October the CRM held 240 non-archived applications: 72 guests, 55 vendors, 37 sponsors, 36 volunteers, 28 convoy drivers, 8 performers and 4 operations requests. A read-only review of the database on 18 October counted 390 applications for the season including 153 archived, 253 participant cabinets and 305 passes issued. The same review found zero gate scans and zero volunteer self check-ins: on the day, coordinators worked from a printed sign-in sheet.

The organisers are still finalising the 2026 guest count, so this case gives none.

What we would do next

Rehearse the day tools or retire them. For 2027 the gate and the check-in get a rehearsal with the coordinators a week before, or the paper sheet becomes the official tool and its count is typed into the CRM the same evening.

Attribution from the first application. The source column works since 10 September. With the 2027 waiting list open, every campaign link, flyer QR and partner post carries a tag from day one, and the question "ads or friends?" gets a number.

Guides that earn the click. The salo guide shows thousands of impressions per click. Titles and opening lines that match the question, and a festival invitation inside each guide, turn that winter audience into 2027 waiting-list sign-ups.

One record, really one. The 18 October review found "Riverside Park" written by hand 847 times across 180 files, while the fact record is read by 15. Moving every page onto the record is what lets the 2027 dates and venue go live in one change.

Mail health before any campaign. DKIM, SPF and DMARC are checked with a live letter to Gmail before each send, since the gap from 31 August to 10 September went unnoticed until a live test caught it.

Related

Websites and web apps: corporate website development. Search: SEO promotion. AI answers: promotion in AI search. Social and video: SMM promotion. The 2025 festival-day guide: mobile guide for Ukrainian Fest Lanark County. A partner that ran master classes at the festival: Cookiddoo kids cooking classes.


Project lead: Marketing MIX, organising partner of the festival. Client: Ukrainian Community of Lanark County (UAFest), Carleton Place, Ontario. Year: 2026.