Certify Education · The complete plan
Replace MiniCRM · the complete CRM

A complete CRM, built around how Certify books exams.

One place your whole team runs: publish exam dates, take the payment, keep every contact, and send and receive email — without leaving the tool. Built on Cloudflare, embedded in your Webflow site, with tracking that does not drop.

One CRM
Dates · pay · email · track
1 login
Whole team, shared
Self firing
Conversions on payment
€0–5
Per month to run

Prepared for Certify Education · Amplio Data · use → to advance

ampliodata.io
Today — booking

/ 01 — Your booking flow today

Today, every exam date is its own web page.

The student
Dates & prices
one listing page
A page per date
/ielts-test-dates/26-june
hand built
MiniCRM form
third-party iframe
not yours
Date inferred
from the previous page
no real field

Barcelona Academic, Barcelona General, Madrid — each sitting is a separate Webflow page you build and publish by hand, all loading the same generic form. The form never truly holds the date; it is inferred from whichever page the student arrived through.

Your flow today · booking
Today — tracking

/ 02 — Your tracking today

The conversion rides a manual flip and a chain that already broke once.

1
Ad click
The gclid lands in the URL.
2
Replayed into the form
A tag rewrites the page URL so the iframe can read it.
fragile
3
Hidden fields
MiniCRM support has to add them to the card by hand.
manual setup
4
Staff flips to Paid
The conversion only fires when someone changes the status.
manual
5
Webhook → Ads
One format mismatch silently dropped every conversion.
broke once

Real history — a form-urlencoded vs JSON mismatch let a 200 response hide the failure, so only test events ever reached GA4. Consent loss and the manual status flip add more ways for a real, paid sale to go uncounted.

Your flow today · tracking
The build

/ 03 — What we build instead

One CRM you own. Dates, bookings, payments, contacts and email in one place.

1

Purpose built

Shaped to exam bookings and student comms, not a generic CRM you bend to fit.

Exam firstNo bloat
2

Yours to run

On Cloudflare, one shared login for the whole team, no per seat licence, no lock in.

One login€0–5 / mo
3

Tracking that holds

The conversion is the payment, and it fires itself — server side, with the ad click attached.

Self firingNo manual flip
What we build
The whole CRM

/ 04 — The whole CRM at a glance

Everything MiniCRM does, shaped to how you actually work.

Dates & publishing
MVP
Booking widget
MVP
Payments · Stripe
MVP
Contacts & leads
MVP
Reliable tracking
MVP
Email inbox · send + receive
v1
Templates & automations
v1
Booking pipeline
v1
Activity timeline
v1
Tasks & reminders
v1
Reporting
v1
Team access & roles
MVP
Tags & segments
v2
Import / export · migration
v2

Built in phases so you are live on the essentials fast, then we layer the rest. Green = the first release.

Feature map
The architecture

/ 05 — How it fits together

All of it on Cloudflare. All of it yours to run.

On your site
Webflow page
your site today
Booking widget
served by us
Cloudflare — the CRM
App + data
Worker
the logic
D1 database
dates · bookings · contacts
R2 storage
files · attachments
Access
one team login
Payment
Stripe Checkout
charges the card
Webhook
confirms paid
Email
Email Routing
inbound → Worker
Provider
outbound · signed
Tracking
Server tag · Stape
on payment
GA4 → Google Ads
conversion + gclid
How it fits
The platforms

/ 06 — The platforms we use

Proven platforms, wired together by us.

Cloudflare
Workers
Runs the CRM — all the app logic.
€0–5 / mo
Cloudflare
D1 database
Dates, bookings and contacts.
included
Cloudflare
R2 storage
Files and email attachments.
included
Cloudflare
Email Routing
Inbound mail straight onto the contact.
free
Cloudflare
Access
One secure login for the whole team.
free
Payments
Stripe
Card payments, receipts and refunds.
1.5% + €0.25 / card
Email
Resend
Outbound and automated mail, signed with your domain.
free → €20 / mo
Tracking
Stape · GA4 · Ads
Server-side conversions and attribution.
your setup
Your site
Webflow
Your site today, hosts the one embed.
your plan

All on infrastructure you can trust — the Cloudflare core is the same stack your Certify dashboard already runs on. We own the build and the wiring; you own the accounts.

The platforms
Better experience

/ 07 — A better booking experience

Pick on your dates page. One booking page does the rest.

1
Pick a date
On your dates & prices page, just like today — but now the choice travels with them.
2
One booking page
Every sitting opens the same page; the date arrives as a real field on the booking, never inferred.
3
Enter details
Name, email, phone — no page reload, no third party form.
4
Pay and done
Stripe, receipt, seat confirmed — one continuous flow.

Today that journey is a listing page, a separate page built by hand for every date, and a third party form — many pages to maintain before the student even starts. Now it is your one dates page, a single booking page you own, and the picked date carried straight through as real data.

Better experience
Easier to run

/ 08 — Easier to run

Publish a date once. It appears everywhere. No new page.

Adding a date today 5 steps
  • Build a new Webflow page for the sitting
  • Update the dates & prices listing by hand
  • Place and configure the MiniCRM form
  • Ask MiniCRM support to add hidden fields
  • Keep a GTM tag replaying the attribution
Adding a date with us 1 step
  • Type the date into the admin and save
  • It shows in the widget instantly
  • One snippet, pasted into Webflow once
  • Nothing to configure per date, ever
  • Attribution is already built in
Easier to run
Step 1 — Publish

/ 09 — Step one · publish a date

Add a date. It is live the moment you save.

dates.certify… / admin ● Cloudflare Access
Exam date
City · type
Price
Seats
12 Jul 2026
Barcelona · Academic
€263
18 left
Edit
26 Jul 2026
Madrid · General
€263
24 left
Edit
09 Aug 2026
Barcelona · Academic
€284
30 left
Edit
+ Add a date
Step one · publish
Step 2 — Embed

/ 10 — Step two · embed and capture the click

One snippet carries the date they picked and the ad click.

ieltscertify.org / book?date=12-jul
12 Jul · Barcelona
Academic · computer · the sitting they picked
€263
Selected

Pasted once into Webflow, on the one booking page. It carries the date the student picked on your dates page and the Google click id, and stores both as real fields on the booking from the first moment — no replay into someone else's form.

<!-- one snippet, pasted once --> <script> var q = new URLSearchParams(location.search); var f = document.createElement('iframe'); f.src = '…/embed?date=' + (q.get('date')||'') + '&gclid=' + (q.get('gclid')||''); f.width = '100%'; f.style.border='0'; document.currentScript.after(f); </script>
Step two · embed + capture
Step 3 — Pay

/ 11 — Step three · take the payment

Student picks a seat, pays with a card, done.

1
Pick a date
They choose a sitting from your live list.
2
Enter details
Name, email, phone — that becomes the contact.
3
Pay via Stripe
Stripe Checkout charges the card securely.
Stripe Checkout
4
Seat confirmed
Receipt sent, booking marked paid.
status = paid

The seat is only taken once the payment succeeds — no held seats, no oversell at your volume.

Step three · pay
Tracking that holds

/ 12 — Tracking that does not drop

The conversion is the payment, and it fires itself.

The old chain fragile
  • Fires on a manual "Paid candidate" flip
  • Click id replayed through a third-party form
  • Broke silently once already
  • Easy to double count, no clean key
  • Consent loss means the sale is lost forever
Our chain reliable
  • Fires on the Stripe payment itself
  • Click id captured first-party, stored on the booking
  • Sent server side to GA4 and Google Ads
  • One id per sale — no double counting
  • Email match catches the consent gaps

A completed purchase is the most reliable signal there is. We attach the ad click the moment the widget loads and send it server side — no manual step, no third-party hop, with Consent Mode and Enhanced Conversions in support.

Reliable tracking
Email, built in

/ 13 — Email, built in

Send and receive email without leaving the CRM.

Maria Costa
Re: your IELTS booking — 12 Jul
Barcelona · Academic
James O'Neil
Can I move to the 26th?
2h ago
Lucia Romà
Receipt + arrival info
Yesterday
Aziz Karim
General vs Academic?
2 days
Maria Costa · 12 Jul booking on the contact
Maria · inbound
Hi, do I need to bring my passport on the day?
Certify · sent
Yes — the same ID you registered with. Doors open 13:45, test starts 14:15.
ConfirmationPre-exam reminderReceipt
Reply to Maria…Send

Inbound email routes through Cloudflare onto the contact's thread; outbound and automated mail (confirmation, reminder, receipt) send through a trusted provider signed with your domain. Every message lives on the contact, for the whole team to see.

Email, built in
Contacts & pipeline

/ 14 — Contacts and pipeline

Every booking becomes a contact, with its whole history.

Booking pipeline
New enquiry12
Contacted8
Booked & paid24
Sat the exam19
Result sent17
One contact's timeline
Booked 12 Jul · Barcelonapaid €263
Confirmation email sentauto
Notestaff

Asked about General Training too.

Pre-exam reminderscheduled

Bookings, payments, emails, notes and the ad that earned them — all on one record. Tasks and reminders keep no-shows and follow-ups from slipping.

Contacts & pipeline
See it + run it

/ 15 — Reporting, security and cost

See what sells, on a stack you can trust.

Revenue
by date & city

Real paid revenue, not lead counts — €0 guesswork.

Bookings
live + paid

Seats sold and seats left, per sitting, in real time.

Click → seat
conversion

Which ads and pages turn into paid exams.

Email
opens & replies

What your team sent and how students engaged.

EU data
Cloudflare EU region
1 login
Access · roles
GDPR
Export & delete on request
€0–5
Per month to run
Reporting, security & cost
What it costs

/ 16 — What it costs

One build fee, then almost nothing to run.

The buildone time · phased
MVP — booking, payments, tracking€460
Full CRM — email, pipeline, reporting€400
Migrate & retire MiniCRM€175
Total build€1,035
To run itmonthly
Amplio maintenance & support€70 / mo
Cloudflare hosting€0–5 / mo
Email (Resend)free → €20 / mo
Stripe, only when you get paid1.5% + €0.25

Indicative — your exact quote is fixed at kickoff. The build is paid once and yours to keep; running it costs a fraction of a monthly MiniCRM licence.

What it costs
Setup

/ 17 — Setup, step by step

From green light to live in about two weeks.

/ 01

Kickoff & access

Webflow, Stripe and your sending domain handed over; we lock your first dates.

Day 1
Start
/ 02

Build the MVP

Booking widget, payments, contacts and reliable tracking.

Week 1
MVP
/ 03

You review privately

Try the whole flow on a private, gated link before anything is public.

Week 2
Review
/ 04

Embed & go live

One snippet into Webflow, tracking wired, running beside MiniCRM.

Week 2
Live
/ 05

Add the full CRM

Email inbox, pipeline, activity timeline, tasks and reporting.

Weeks 3–5
Full CRM
/ 06

Migrate & retire MiniCRM

Import your data, then switch the MiniCRM licence off for good.

Weeks 6+
Migrate
Setup, step by step
What's next
Next step

One green light, and we begin building.

We need a few small things from you to start. Nothing technical — we handle the rest.

Webflow access A Stripe account (or we set one up) The first dates to publish Team emails for the login Your sending domain for email
Approve the build →

Amplio Data · hello@ampliodata.io · ampliodata.io

Next step