Conversion Rate Optimization Checklist
End-to-end CRO sprint a marketing or growth team runs to ship one tested change against a measurable funnel hypothesis — from baseline analytics through variant build, A/B launch, and rollout.
Baseline & Hypothesis
-
Pull 90 days of funnel data from GA4
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.
-
Identify the highest-friction funnel step
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.
-
Document hypothesis, primary KPI, and MDE
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.
Collects paragraph
Analytics & Tracking Audit
-
Audit GA4 conversion event mapping
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.
-
Verify UTM convention on inbound campaigns
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.
-
Check CMP consent gating on tag fires
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.
-
Validate cross-domain and subdomain tracking
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
-
Review Core Web Vitals in Search Console
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 Lighthouse on the candidate page
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.
-
Review heatmaps and session replays
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.
-
Audit form fields and abandonment points
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
-
Draft variant copy and CTA against hypothesis
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 the variant in the optimization tool
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.
Collects url -
QA the variant across breakpoints and browsers
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.
-
Get legal and brand sign-off on the variant
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.
Collects list -
Address requested approval changes
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
-
Launch the test at the declared traffic split
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.
-
Run daily SRM and guardrail-metric checks
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.
-
Hold the test through the planned duration
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
-
Analyze results against the pre-declared MDE
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.
Collects list -
Document learnings in the experiment log
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.
Collects file -
Roll the winning variant to 100%
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.
-
Schedule a follow-up test on the same surface
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
Copy it to your account, customize the steps, and run it with your team in minutes.
Browse hundreds of free templates across every team and industry.
Back to template libraryRelated templates
More workflows your team can run.
Run Conversion Rate Optimization Checklist with your team
Customize the steps, assign roles, set a schedule, and keep a complete record for every run.