Case Study

Say Yes to Pets Phase 2: Building a Monetisation Layer

Phase 1 gave Say Yes to Pets a publishing platform and a free Pet CV tool. Phase 2 turned it into a product. Here’s how I added a monetisation layer: a product catalog, Stripe checkout, 2 paid funnels, secure downloads and end-to-end UTM tracking.

sytp landlord yes pack lp

Project overview

Say Yes to Pets began life as a publishing and advice platform for renting with pets, built as a headless Next.js front end on top of WordPress (covered in phase one). Phase two turned that content platform into a revenue-generating product.
In this phase I designed and built the full monetisation layer: a single source of truth for products and pricing, a generalised Stripe checkout that serves multiple paid offers, secure tokenised download delivery, two new sales funnels for renters and landlords, a free landlord lead magnet, partner referral tracking and an admin funnels view, all measurable end to end. The work overlaps most closely with custom WordPress and Next.js development, technical SEO and ongoing support.

Say Yes to Pets practical advice hub showing the hero, renter and landlord tools and latest renting-with-pets guides
The phase-one advice platform that the new monetisation layer was built on top of.

The challenge

The platform already had traffic, a free Pet CV tool and a bespoke CRM, but no way to turn that audience into revenue. Phase two had to add paid products without rebuilding the foundation, while keeping the publishing experience and brand intact.

Monetise an existing audience
Introduce paid products for both renters and landlords without disrupting the existing free content and tools.
One checkout, many products
Support multiple packs, price tiers and an upsell call through a single, maintainable payment and delivery layer.
Secure paid delivery
Deliver paid PDF templates without ever exposing them publicly, while keeping the buying experience simple.
Measurable funnels
Make every journey trackable from first touch through purchase and booking, so spend and content can be optimised.

What was delivered

I built the monetisation layer additively on top of the phase-one platform, shipping each milestone behind feature flags so the live site stayed stable throughout. That included a typed product catalog, a product-aware Stripe checkout and webhook, two paid sales pages with secure downloads, an upsell call flow, a free landlord lead-capture tool, referral pages and funnel analytics.

Product catalog and feature flags
A single typed config defines both packs, their price tiers, Stripe links, included templates and download bundles, with feature flags gating every new flow.
Generalised Stripe checkout
One checkout layer and webhook route every purchase to the correct entitlement, CRM event and delivery email, with idempotency against webhook replays.
Two paid funnels
A renter-facing Pet Yes Pack and a landlord-facing Landlord Yes Pack, each with standalone and with-call pricing tiers.
Free landlord lead magnet
A free Pet Request Form that mirrors the free Pet CV, capturing landlord leads into the CRM and feeding the paid funnel.

Pet Yes Pack sales page showing the six included templates, £25 and £79 pricing tiers and social proof
The renter-facing Pet Yes Pack sales page, with standalone and pack-plus-call pricing tiers.

Core functionality included

Single product catalog
A typed source of truth for both packs, price tiers (£25 standalone / £79 with call), Stripe payment links, included templates and download bundle keys.
Product-aware Stripe checkout
A shared getCheckoutUrl helper builds the right payment link per product and tier, carrying email and attribution through to the webhook.
Generalised webhook routing
One webhook branches by product and tier to grant the correct entitlement, fire the right CRM event and queue the matching delivery email.
Idempotent purchase handling
Entitlements are granted once per Stripe event id, so webhook replays never double-deliver or double-score a contact.
Pet Yes Pack sales page
A conversion-focused renter page with hero, included templates, social proof, two pricing cards, FAQ and a sticky CTA.
Landlord Yes Pack sales page
A landlord-specific page built on the same structure, with compliance-led copy around the Renters’ Rights Act 2025.
Secure tokenised downloads
Paid PDFs are served from a private store via signed, expiring tokens through a gated download route, never from the public folder.
Branded delivery emails
Successful purchases queue Brevo delivery emails containing the same tokenised download links.
Rent Ready Call upsell
An inline and post-purchase upsell moves £25 buyers toward the £79 pack-plus-call, with booking tagging and a booking CTA.
Booking integration
A swappable booking embed captures consultation slots and records them back to the contact in the CRM.
Free Pet Request Form
A free landlord template gated behind lightweight lead capture that creates a landlord CRM contact and queues a nurture email.
Partner referral pages
Referral landing pages set partner attribution (e.g. Chestertons) and route visitors into the landlord funnel with tracked links.
Admin funnels view
A read-only funnels section in the admin dashboard shows counts per stage (viewed → started → purchased → booked) for each journey.
End-to-end UTM attribution
First and last-touch UTM data persists through the Stripe round-trip and is reconciled onto the contact at purchase.
Extended CRM event model
New events for pack views, paid-offer views, landlord lead submissions, purchases and bookings drive lead scoring and lifecycle stages.

Landlord Yes Pack sales page with seven included templates, Renters' Rights Act 2025 messaging and £25/£79 pricing
The landlord-facing funnel reuses the same checkout and delivery layer with compliance-led copy.
Free Pet Request Form landing page with email lead-capture form for landlords
The free Pet Request Form captures landlord leads into the CRM and feeds the paid funnel.

Key architecture decisions

The guiding principle was to extend, not rebuild. The phase-one platform already had a bespoke CRM, attribution layer, email automation and a working Stripe webhook, so phase two added a thin product and checkout layer on top rather than introducing new systems. Most of the work was additive: new pages, a generalised checkout, new templates and new CRM events, with almost no change to the underlying data model.
I kept a single catalog as the source of truth so pricing, Stripe links and included templates live in one place, and shipped every milestone behind a feature flag so unfinished funnels never leaked to production. Stripe Payment Links were chosen over the SDK to match the existing working pattern and ship faster, with checkout sessions noted as a future option if dynamic pricing or coupons are ever needed.

Single source of truth
One typed catalog defines products, prices, tiers, templates and download bundles for every funnel.
Flag-gated delivery
Feature flags let each milestone ship to main behind the scenes while keeping the live site stable.
Reused CRM and email layer
New purchases plug into the existing CRM events, lead scoring and Brevo automation rather than new infrastructure.
Private-by-default paid assets
Paid templates are stored privately and served only through gated, tokenised routes.

Pet Yes Pack post-purchase page asking for the checkout email to access secure download links
After purchase, downloads are released only via email-matched, expiring tokens — never from the public folder.
Pet Request Form success page confirming delivery with a Landlord Yes Pack upsell card
The free-tool success page doubles as a natural upsell into the paid Landlord Yes Pack.

Results and outcomes

Phase two turned a content and lead-generation platform into a product with real revenue paths for two distinct audiences, built in a way that stays measurable and easy to extend.

Two live revenue funnels
Renters and landlords each have a dedicated paid offer with standalone and with-call pricing.
Reusable monetisation layer
New products can be added through the catalog without touching checkout, delivery or CRM plumbing.
Higher-value conversions
The Rent Ready Call upsell creates a clear path from a £25 template purchase to an £79 pack-plus-call.
New top-of-funnel capture
The free Pet Request Form opens a landlord lead source that feeds directly into the paid funnel.
Full-funnel visibility
UTM attribution and the admin funnels view make every stage of each journey measurable and optimisable.
Partner-ready growth
Referral landing pages and tracked links support partner collaborations such as Chestertons.

Technology used

The monetisation layer was built with Next.js, React and TypeScript, using WordPress as a headless CMS and Neon Postgres for the bespoke CRM, lead and entitlement data. Payments run through Stripe Payment Links with a custom HMAC-verified webhook, transactional and nurture email through Brevo, and attribution through a first/last-touch UTM layer feeding the CRM.
The delivery is most relevant to custom WordPress and Next.js development, SEO optimisation and ongoing support for content-led platforms with custom product functionality.

Next steps

This case study covers phase two of an ongoing platform — the monetisation layer built on top of the phase-one publishing foundation. The next stage is launch hardening: live Stripe keys, monitoring, an environment audit and a full regression of both funnels before flipping the feature flags on in production, followed by ongoing funnel and SEO optimisation.
If you are building a content-led platform with paid products and custom functionality, the most relevant starting points are usually custom development, SEO optimisation and WordPress care plans.

Looking for similar outcomes? Start with SaaS Development and browse more project examples.

Best matched offer

This project is closest to SaaS Development. Start there if you want a similar outcome.

Newsletter

Get useful WordPress emails

Practical fixes, cleaner SEO wins, and lessons from real builds.

Double opt-in required. The checklist is sent only after confirmation.

ND

What this proves

This project shows the kind of commercial problem the work is built around: clearer implementation, fewer technical compromises and a better path from website investment to business outcome. If you need a similar approach, explore SaaS Development and practical implementation guides.

Want Similar Results for Your Business?

Let's discuss how I can help scale your website with a custom solution tailored to your business needs. From performance optimization to complete redesigns, I deliver results that drive growth.

Get in Touch

Free 30-minute consultation • No commitment required • For business ready