Conversion Rate Optimization Checklist

Baseline & Hypothesis

    Export step-by-step conversion rates for the funnel under review (landing → form view → submit → MQL, or PDP → cart → checkout → purchase). Pair GA4 with the source-of-truth CRM or order system — GA4 alone often under-reports due to consent loss and ad-blocker stripping.

    Rank steps by drop-off rate and dollar impact. The biggest percentage drop is often not the most valuable to fix — focus where a 10% lift moves the most pipeline or revenue. Segment by device, source, and new-vs-returning before picking a target.

    Use the form: "Because we observed X, we believe changing Y will cause Z, measured by [primary KPI]." Calculate sample size from current traffic and the minimum detectable effect — if you cannot reach 80% power inside 4 weeks, pick a smaller test or higher-traffic surface.

Analytics & Tracking Audit

    Confirm the conversion event fires on actual submit, not on form-blur or button-click. Cross-check GA4 conversion count against CRM lead count for the same window — discrepancies above 10% usually indicate a duplicate fire or a missing event.

    Pull source/medium/campaign for the last 90 days and look for drift — "facebook" vs "Facebook" vs "fb", "cpc" vs "paid". Mixed conventions make experiment segmentation unreliable. Lock the convention in the shared link-builder before launch.

    Open the page in incognito with EU geolocation and inspect Network — Meta Pixel, GA4, and any optimization-tool script must not fire before consent. OneTrust, Cookiebot, and Didomi all support GTM consent-mode v2; verify the analytics_storage and ad_storage flags flip correctly on accept.

    If the funnel crosses www → app or marketing site → checkout subdomain, confirm GA4's cross_domain configuration carries client_id. Stripe and Shopify checkouts are common breakpoints — sessions that should be one are split into two without proper linker setup.

Page Experience Diagnosis

    Pull LCP, INP, and CLS from GSC for the candidate URL. LCP > 2.5s and CLS > 0.1 are the common conversion killers on mobile. Note device breakdown — mobile typically fails Vitals first and converts worst.

    Run mobile-throttled Lighthouse three times and take the median. Look for render-blocking scripts, unoptimized images, and unused JavaScript above 200KB. File performance fixes that block the test as separate dev tickets — do not bundle them into the variant.

    In Hotjar, FullStory, or Microsoft Clarity, watch 10–15 sessions of users who dropped before the conversion event. Look for rage clicks, dead clicks on non-clickable elements, and form fields where the cursor leaves and never returns. Patterns from 10 sessions usually beat aggregate funnel charts for hypothesis quality.

    Field-level abandonment in Hotjar or Marketo's form analytics shows which input is killing the form. Phone number is the usual culprit on B2B forms; required street address kills B2C lead forms. Drop fields that sales does not actually use.

Test Design & Build

    One variable per test. If the hypothesis is about CTA copy, only the CTA changes; do not also swap the hero image "while we're at it" — that ruins attribution of the lift. Capture the change in a one-line diff so analysis later is unambiguous.

    Build in VWO, Optimizely, AB Tasty, or your CMS-native tool (HubSpot, Webflow, Contentful). Set traffic split, audience targeting, and exclusion rules. If the tool flickers on render, switch to server-side or anti-flicker snippet — flicker biases the result against the variant.

    BrowserStack or LambdaTest the variant on iOS Safari, Android Chrome, desktop Chrome, Edge, and Firefox. Confirm the conversion event still fires on the variant — broken tracking on the variant is the most common reason a test reads as a loser when it isn't.

    Any claim change, pricing reference, or testimonial needs review. Substantiation file required for performance claims under the Lanham Act and FTC Endorsement Guides. Capture approval here so the audit trail beats a Slack DM.

    Apply the legal or brand redlines in the optimization tool, re-QA the affected variant, and capture the second-round sign-off in the same approval thread. Do not launch until the redline pass is complete.

Launch & Monitor

    Use the 50/50 split planned in step 4 unless there is a strong revenue-risk reason to skew. Note the launch timestamp — many tools record start time imprecisely. Announce in #growth or #experiments so paid-media and email teams do not push major sends that bias one arm.

    Sample Ratio Mismatch (chi-square p < 0.01 between expected and observed split) means the test is broken — usually a redirect or bot-traffic issue. Also watch guardrails: bounce rate, page errors, and revenue per session. Kill early if a guardrail breaks badly; do not peek at the primary KPI for stat-sig.

    Run for at least one full business cycle (commonly 2 weeks for B2B, 1 week for high-traffic e-comm) AND until the pre-declared sample size is hit. Stopping at "first stat-sig" inflates false-positive rate to roughly 30%. Honor the plan.

Analysis & Rollout

    Read the primary KPI first; segments only after. A "win in mobile only" found post-hoc without correction is exploration, not a result. Confirm the lift exceeds the MDE set in step 4 — a stat-sig 0.5% lift below your MDE means the test is underpowered, not a winner.

    Log the hypothesis, variant diff, sample size, primary KPI delta, segment results, and a one-paragraph "what we learned" — losers and inconclusives matter as much as winners. Tag by funnel stage and surface so future tests can search prior art before re-running the same test.

    Bake the change into the production CMS rather than leaving it served by the optimization tool — long-running tool overrides accumulate flicker and tech debt. Remove the variant from the optimization tool once the production change is live.

    Inconclusive results usually mean the variable was too weak or the surface too low-traffic. Re-design with a bolder change or pick a higher-traffic page. Add the next test to the next sprint's backlog before context is lost.

Use this template in Manifestly

Start a Free 14 Day Trial
Use Slack? Start your trial with one click

Related Marketing Checklists

Ready to take control of your recurring tasks?

Start Free 14-Day Trial


Use Slack? Sign up with one click

With Slack