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.

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.

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.
Introduce paid products for both renters and landlords without disrupting the existing free content and tools.
Support multiple packs, price tiers and an upsell call through a single, maintainable payment and delivery layer.
Deliver paid PDF templates without ever exposing them publicly, while keeping the buying experience simple.
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.
A single typed config defines both packs, their price tiers, Stripe links, included templates and download bundles, with feature flags gating every new flow.
One checkout layer and webhook route every purchase to the correct entitlement, CRM event and delivery email, with idempotency against webhook replays.
A renter-facing Pet Yes Pack and a landlord-facing Landlord Yes Pack, each with standalone and with-call pricing tiers.
A free Pet Request Form that mirrors the free Pet CV, capturing landlord leads into the CRM and feeding the paid funnel.

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


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.
One typed catalog defines products, prices, tiers, templates and download bundles for every funnel.
Feature flags let each milestone ship to main behind the scenes while keeping the live site stable.
New purchases plug into the existing CRM events, lead scoring and Brevo automation rather than new infrastructure.
Paid templates are stored privately and served only through gated, tokenised routes.


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.
Renters and landlords each have a dedicated paid offer with standalone and with-call pricing.
New products can be added through the catalog without touching checkout, delivery or CRM plumbing.
The Rent Ready Call upsell creates a clear path from a £25 template purchase to an £79 pack-plus-call.
The free Pet Request Form opens a landlord lead source that feeds directly into the paid funnel.
UTM attribution and the admin funnels view make every stage of each journey measurable and optimisable.
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.
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.
Keep exploring
Quick paths to related services, practical guides and real project examples, curated to help visitors move from curiosity to action.
Related services
Relevant case studies
Related guides
How to Turn Your WordPress Website Into a Progressive Web App
How a Progressive Web App can turn a WordPress website into a faster, app-like experience with home screen acc...
How to Get WC Order Details
A practical guide to retrieving WooCommerce order details manually, with hooks or through the REST API, depend...
Fixing YouTube Link Conversion in WordPress & BuddyPress
A lightweight WordPress customisation that automatically converts YouTube links into embedded iframes across p...
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.
Free 30-minute consultation • No commitment required • For business ready
