Agency OS Skill Library

Interactive Lead Capture Tools

Builds a working quiz, calculator, scorecard or audit tool as one self-contained HTML file that captures leads into GoHighLevel.

Web and SEO First result: 2 to 3 hours interactive-lead-magnet
Back to all skills

What it does

Produces a single self-contained HTML file under 200KB that runs a working interactive tool: one question per screen, a visible progress bar, an animated results reveal, and a contact-capture gate that POSTs name, email, phone, answers and score to a GoHighLevel webhook. Five types are supported: scored quiz, personality or type quiz, calculator, scorecard or assessment, and audit tool. Alongside the file you get a strategy document, a GHL integration guide, and hosting instructions. No PDFs, no ebooks.

Say this to start

This skill has no button. You start it by saying what you want. Any of these will do it:

/create-lead-magnet
> build a quiz
> ROI calculator
> business scorecard
> audit tool
> interactive lead magnet

When to reach for it

When NOT to use it

If you actually wantUse this instead
a static PDF guide, checklist or swipe file with no scoringlegendary-copywriters
the page that hosts the tool, if it is a plain landing or funnel pagefrontend-design
the funnel around the tool: page order, email and SMS follow-up, CRM sequencesfunnel-architect
the Meta campaign and Lead Form driving traffic to itmeta-lead-system
the ad copy itselfmeta-ads-copywriter

Before you start

What you needWhy
Your ICA or avatar, from an ideal-customer-avatar run or answered directlythe skill states plainly that a lead magnet built without audience clarity produces generic questions and weak conversionRequired
Your core offer, from an offer-architect run or answered directlythe results-page CTA points at the offer, so without it the tool ends in nothingRequired
A decision on what someone should do after seeing their results: book a call, view the offer page, get a detailed report by email, start a trial, or join a waitlistthe skill asks this explicitly and the CTA button text, link and surrounding copy all hang off the answerRequired
Your industry or nicheit determines question topics, terminology and scoring logicRequired
A choice of delivery version: A for organic and direct traffic (gate screen before results) or B for traffic where the contact already exists in GHL (no gate, contact ID passed by URL parameter). Default is Athe two versions have different screen flows and different webhook payloads, so it cannot be swapped after the build without a rewriteRequired
A GoHighLevel Inbound Webhook URL, created in a GHL workflowwithout it the tool still runs and shows results, but no lead data leaves the pageOptional
Brand colours as hex codes and brand fonts, from brand memory or supplied directlywithout them it falls back to high-conversion defaults and a system font stack, so the tool will not match your siteOptional
For Version B: a GHL workflow that creates the contact and sends the tool link with ?cid={{contact.id}} appendedthe contact ID in the URL is how quiz answers attach to the existing record instead of creating a duplicateOptional
For an audit tool in automated mode: a Playwright or Firecrawl MCP connectionwithout one it falls back to guided mode, which asks the user self-assessment questions instead of analysing their siteOptional
brand/[workspace]/verified-claims.md holding any number, benchmark or result that will appear on the results pageunbacked specifics get genericised or replaced with a proof gap marker rather than inventedOptional

How it runs

  1. ROI gateBefore any build, it works the tool-ROI gate: expected lead value times expected lead volume against build cost plus twelve months of maintenance, then an eight-factor scorecard covering search demand, audience match, uniqueness, path to the paid offer, feasibility, maintenance burden, link potential and share-worthiness. It can and will tell you not to build.
  2. Determine the typeRecommends one of the five types from your business model and audience awareness. Consulting and problem-aware gets a scored quiz. Agency and solution-aware gets an audit tool. B2B high-ticket gets a scorecard. Courses get a personality quiz. This is a recommendation, and it honours your preference if you have one.
  3. Gather type specificsCollects what that type needs. A scored quiz needs topic, question count (5 to 8), number of result tiers (3), and whether scoring is a simple sum or weighted. A calculator needs the input variables (3 to 6) and the formula in plain words, which it translates to JavaScript. A scorecard needs categories, questions per category and the rating scale.
  4. Design the results CTAAsks you outright what happens after the results appear, and offers the five common answers. The CTA button text, its link and the copy around it are all built from this.
  5. Build the fileLoads the type's template reference plus the design-patterns and GHL-integration references, then writes the complete HTML: one question per screen, 48px minimum touch targets, a visible progress bar, smooth transitions, and an animated reveal on the results screen with the score counting up or a chart drawing in.
  6. Generate supporting assetsWrites the strategy document (type rationale, audience, conversion flow, scoring logic), the GHL integration guide (custom fields to create, webhook setup, workflow configuration, testing checklist), and hosting instructions.
  7. Quality gateRuns a 14-point checklist before delivery: question relevance to the ICA, meaningful score differentiation, gate copy, personalised results, CTA clarity, responsiveness at 375px, 768px and 1440px, progress bar behaviour, form validation, webhook payload completeness, self-containment, file size and console errors.
  8. Hosting and feedbackOffers five hosting routes (Cloudflare Pages recommended, then Netlify, Vercel, embedding in a GHL funnel page, or your existing site), then asks how the delivery landed and logs the answer to learnings.md tagged skill: interactive-lead-magnet.

What you get

Honest limits

Read this before you rely on it

Where people go wrong

The mistakeDo this instead
Putting the contact form before the questionsVersion A gates after the questions on purpose. Once someone has spent two to five minutes answering, they will not abandon before seeing the result. Capture in front of the questions throws that away.
Using Version A for Facebook Lead Form trafficUse Version B. Those people already gave their details in the Lead Form, so a second form is friction. Version B drops the gate and passes the contact ID by URL so the answers enrich the existing record.
Assuming Version B is Facebook onlyVersion B covers any pre-captured source. Email link clicks from an existing subscriber and SMS link clicks from a text campaign follow the same pattern, because the contact already exists in GHL.
Building the tool before checking whether it is worth buildingRun the ROI gate first. A tool that pulls high volume from non-buyers such as students, job seekers and hobbyists fails the gate no matter how good the usage numbers look.
Writing 15 questions to look thoroughStay in range: 5 to 8 for a scored quiz, 6 to 10 for a personality quiz, 3 to 6 inputs for a calculator, 2 to 3 questions per category for a scorecard. Length costs completions.
Shipping generic results copyThe quality gate requires personalised recommendations per result tier, not platitudes. Each tier needs its own specific, actionable advice and its own CTA framing.
Worth knowing

The gate screen placement is the whole conversion mechanism, not a form location. Contact capture sits after every question because the visitor has already invested the time and will not walk away one screen before their result. That is also why the gate copy is written as anticipation ("your results are ready") rather than as a request for details, and why the quality gate checks that copy specifically. Move the form to the front and you have built a landing page with a quiz attached, which converts like a landing page.