Ad Personam — Marketing & Wedding Agency
One site that tailors itself to two audiences
Project overview
A Surry Hills agency selling social content to businesses and wedding content to couples — two audiences that want opposite things from the same homepage. One cookie-set attribute switches emphasis, palette and visual order between them, while both audiences' content stays in the DOM in the same order so crawlers still read a single document. Case studies, journal and testimonials are published from a studio dashboard.
The challenge
Ad Personam sell two things to two audiences who want the opposite of each other: social media and content marketing to businesses, and wedding content creation to couples. The existing site treated them as one, opening with no H1 and a 1.7 MB hero image, and the domain carried nothing to build on — a Domain Rating of 0, no organic keywords, no traffic, and 95 referring domains of pure spam accumulated in a single month.
What we did
- Built on Next.js and Supabase with every public route static or hourly-revalidated, read through a sessionless client so no page touches cookies and all of them stay CDN-cacheable
- The path mechanism — one attribute, set before first paint from a cookie, switches emphasis, palette and visual order between the business and couples journeys. Everything downstream is CSS, and both audiences' content stays in the DOM in the same order, so a crawler and a returning visitor read the same document
- A studio dashboard where case studies, journal posts, clients, testimonials and settings are published with on-demand revalidation, guarded twice: a session check at the edge and an admin-profile check in the layout, because being signed in is not the same as being an admin
- A WebGL signature effect that mounts only after load and refuses to run on reduced motion, Data Saver, four cores or fewer, or a small touch screen — the hero is complete without it
- Verification through real-browser scripts rather than assertions: Lighthouse, an SEO audit checking h1, canonical, description, alt text and JSON-LD on every page, an admin CRUD run that publishes a case study through the actual UI, and a diff isolating what the WebGL layer costs
- Positions taken deliberately and documented — no thin per-suburb landing pages from a DR 0 domain, no Review or AggregateRating schema for a business with no reviews yet, and a disavow filed for the 95 spam referring domains rather than treated as a crisis
The results
Services delivered
Interested in similar services? View all services →
Summary
Splitting a two-audience business into two websites halves the authority of each and doubles the maintenance. Serving both from one document, with a cookie deciding only what gets emphasis, keeps every link and every crawl working for the same domain — while the visitor sees a site that appears to have been built for them. The restraint matters as much as the build: on a domain with no history, the pages that were not created and the schema that was not fabricated protect the ones that were.
More case studies
Want results like these?
Let's talk about your project. Free 30-minute consultation, no commitment.
Start a project