PREPARED FOREvantage Media
Assignment 2 · Technical funnel · for Evantage Media

From a free security scan to a protected WordPress site

How I would build the acquisition funnel for Evantage Media’s Managed WordPress Security plans. Two kinds of owner arrive: one wants a check-up, one has just been hacked. Both ride to the same place, and every hand-off is named down to the event, API and safeguard.

7stations
2entry lines
9safeguards
≈ $250fixed stack / mo
LIVEFIG. 1 · two leads riding the funnel
01 Attract02 Capture03 Scan engine 04 Qualify + nurture05 Convert06 Onboard07 Retain + expand E arrives first
WALKTHROUGHFIG. 2 · the whole funnel in 76 secondsFULL SCREEN ↗
The map · scroll or ride a line

Seven stations, two ways in

Line P is the owner who asks for a free scan. Line E is the owner whose site is already infected. E runs express past the scan, reaches Station 04 first, and from there both ride together to the end. Hover a tool to see why it was chosen.

01

Attract

KPIClick-through rate · cost per click

PSecurity content and retargeting

Posts on WordPress risks rank in search; past visitors are retargeted with the free scan.

Search ConsoleMeta Ads

EHigh-intent search ads

Bids on searches like “WordPress site hacked”, where the owner needs help today.

Google Ads
Tag ManagerGA4Pixel + Conversions APIutm_* · gclid → hidden field
02

Capture

KPILanding conversion rate · cost per lead

P“Run a Free Security Scan”

Name, website URL, email, and a separate unticked box for marketing consent.

E“Clean my site now”

Same fields plus “what are you seeing?”. Opens a priority ticket instead of a scan.

WordPressElementor FormsTurnstileGA4 generate_leadMeta Lead · one event_id
03

Scan engine

LINE E RUNS EXPRESS
KPITime to report · report open rate

PPassive scan → plain-English PDF in minutes

form webhook → n8n, self-hosted in Toronto
  ├ Wordfence feed · vulnerable core, plugins
  ├ Google Web Risk · blocklist status
  ├ PageSpeed Insights · speed
  ├ Claude API · writes the summary
  └ Gotenberg → PDF → emailed
n8nDigitalOcean TOR1Wordfence IntelligenceWeb Risk APIPageSpeed InsightsClaude APIGotenberg

ENo stop here

A hacked site needs a person, not a report. The ticket rides straight through to Station 04.

04

Qualify + nurture

INTERCHANGE
KPILead-to-qualified rate · meetings booked

Critical findings or any emergency → a person, fast

n8n scores each lead by severity, raises a Slack alert with a Claude-drafted triage note, and sends a book-a-specialist link.

Low risk → 4-email nurture

What the findings mean · a client story · plan comparison · last call. Consent and history live in HubSpot.

HubSpot StarterSlackClaude APIGA4 qualify_lead · working_lead
05

Convert

KPILead-to-customer rate · customer acquisition cost
Enhanced Security$49/moBrochure sites, portfolios, blogs
Mission Critical$99/moService businesses, lead-gen sites
Fort Knox · most popular$199/moWooCommerce, revenue-critical; malware removal included
WHMCS order → Stripe charge → InvoicePaid hook → n8n
  └ HubSpot deal won → native conversion sync
     Google Ads (leads) · Meta Conversions API

Tax follows the client’s business address: 13% HST in Ontario. Evantage’s GST/HST number goes on every invoice.

WHMCSStripeHubSpotGoogle AdsMetaGA4 close_convert_lead

Unhappy path: unpaid order → one recovery email, only if the visitor consented.

06

Onboard

KPIHours from payment to protected site

Server level · WHMCS

ModuleCreate
  ├ cPanel account
  ├ Imunify360 licence
  └ WordPress via WP Toolkit

WordPress level · n8n

AfterModuleCreate → n8n
  ├ MainWP · add client + site
  ├ Cloudflare · proxy + WAF
  ├ UptimeRobot · monitor
  └ backup + welcome email
WHMCSImunify360MainWPCloudflareUptimeRobotUpdraftPlus1Password

Fort Knox clients are also migrated to the optimised server.

07

Retain + expand

TERMINUS
KPIMonthly churn · recurring revenue · expansion revenue

Prove the value

MainWP Pro Reports: monthly, bi-weekly or weekly, as each plan promises. MainWP has no bi-weekly schedule, so two monthly schedules run 14 days apart, tested before launch.

Grow on real signals

WooCommerce detected or traffic rising → offer Fort Knox. Revenue-critical sites → hardware firewall or real-time site mirroring.

WHMCS sends payment reminders and suspends or restores service automatically. Renewals that need 3-D Secure go to the client portal.

Loops back: an infection caught by monitoring re-enters at Station 04 as an emergency, already covered by the plan.

General notes

Safeguards at every station

A security agency’s own funnel should pass its own audit. Each flag on the map points to one of these notes.

S101 ATTRACT

Consent before tracking

Banner with equal Accept and Refuse. Consent Mode v2: Quebec and EEA/UK default off, rest of Canada notice plus opt-out. Hashed-email conversion data is sent only after consent.

S202 CAPTURE

CASL consent recorded

A scan request is an inquiry, which gives implied consent for 6 months. A separate unticked box records express consent beyond that.

S302 CAPTURE

Form webhooks verified

Elementor form webhooks are unsigned, so n8n checks a shared secret and re-validates the Turnstile token server-side.

S403 SCAN

Passive checks only

Rate-limited per IP, email and domain. The full report goes only to an email on the scanned domain. Deep scans need DNS, meta tag or file verification plus written consent.

S504 NURTURE

Honest email

Every email names the sender with a mailing address. Unsubscribes take effect within 10 business days.

S605 CONVERT

Signed, de-duplicated events

Stripe events verified by signature; WHMCS → n8n hooks HMAC-signed; every event de-duplicated by ID before anything runs.

S706 ONBOARD

Credentials never by email

Only one-time 1Password links or revocable WordPress Application Passwords.

S803–04

AI writes, code decides

AI only writes and summarises. Payments, tax, provisioning and DNS changes stay deterministic.

S905–06

Billing system hardened

WHMCS admin behind an IP allow-list and patched within 72 hours; a critical no-login flaw, CVE-2026-67399, was fixed in September 2026.

Running cost · try your own client mix

When does the stack pay for itself?

Move the sliders to set how many clients are on each plan. The example mix below is illustrative, not a forecast.

4
3
2
Plan revenue / mo
$891
Card fees (2.9% + 30¢)
$29
Fixed stack / mo
≈ $250
Left after costs
$612

The stack is covered, with $612 a month left over.

Fixed stack uses the midpoint of $230–270. Labour, servers Evantage already runs, Cloudflare and Imunify360 are not included. Evantage’s site doesn’t state the currency of its plan prices, while vendor costs are in USD; if plans are billed in CAD, the break-even point rises by the exchange rate.

Fixed monthly costs, checked 1 Nov 2026
  • DigitalOcean droplet, Toronto4 GB: n8n, Postgres, Gotenberg
    $24
  • WHMCS PlusBilling and provisioning, up to 250 clients
    $34.95
  • MainWP Pro$199 a year, unlimited sites
    ~$17
  • UptimeRobot Team100 monitors, billed annually
    $33
  • HubSpot Starter3 seats plus marketing contacts
    $120–160

Free: n8n Community Edition, Wordfence feed, Web Risk up to 100,000 lookups a month, PageSpeed Insights, Turnstile, Gotenberg. Usage-based: Claude API per summary.

Evidence · checked against vendor docs, licences and pricing

Why this tool?

Each slot was compared before anything was drawn. Open a row to see the runner-up and what ruled the others out.

Workflow enginen8n, self-hosted in Canada

WHY

One scan run counts as one execution, Stripe signatures are verified natively, and HubSpot, Slack and UptimeRobot nodes exist. The licence allows client automations on your own instance.

RUNNER-UP

Activepieces: MIT core and one credit per run, but no Cloudflare piece and no documented Stripe signature check.

RULED OUT

Zapier (US-only, per-action pricing), Make (no Canadian region), Pipedream (Workflows shutting down 31 Mar 2027), Hermes Agent (an AI agent framework, not a workflow engine).

CRM + emailHubSpot Starter

WHY

Canadian data centre, subscription types with consent history for CASL, and native Google Ads and Meta conversion sync on Starter.

RUNNER-UP

GoHighLevel: all-in-one with a white-label resale line, but US-only hosting and a consent trail you build by hand.

RULED OUT

Pipedrive + Brevo: consent split across two tools and no native ad sync.

BillingWHMCS + Stripe

WHY

Official modules for cPanel, Imunify360 licences and WP Toolkit, plus upgrades, add-ons and automatic suspension. Stripe stays the card gateway.

RUNNER-UP

Stripe Billing alone: best tax automation, but provisioning, suspension and add-on upgrades would all be custom code.

WATCH

WHMCS is self-hosted: IP allow-list on admin and patches within 72 hours.

Site managementMainWP

WHY

Sites added by API or CLI, which makes onboarding automatic; UptimeRobot integration; self-hosted in Canada.

RUNNER-UP

WP Remote: the strongest API, but priced per site.

RULED OUT

ManageWP (no public API, so onboarding stays manual), WP Umbrella (no add-site API).

Scan sourcesWordfence + Web Risk

WHY

Wordfence’s vulnerability feed is free for commercial use with attribution; Web Risk is Google’s commercial blocklist API.

RULED OUT

Google Safe Browsing API (non-commercial only), WPScan free tier (commercial use needs a licence), SSL Labs API (owner permission required).

LIMIT

A remote scan only sees what is in the public page source, and the report says so.