Conversion Dashboard
BioTrust

Conversion Dashboard

Last refresh: —
*Checkout Started Rate = Checkout Starts ÷ Lander Sessions • Checkout Completion Rate = Purchases ÷ Checkout Starts • Lander Conversion Rate = Purchases ÷ Lander Sessions

By lander

Top 10 by Sessions, last 7 full days. Spend = Meta + Google Ads + Everflow. Deltas: last 7 full days vs the 7 before. Sparkline: daily Checkout Started Rate; the dashed line is the average rate across all landers (Overview tab) or the product's landers (product tabs) over the last 30 days. Hover over a sparkline for each day's value.

Daily by lander

Full days only (America/Los_Angeles); the current day is never shown. Shading scales with the value within each column. Rates are hidden (—) on days with fewer than 20 sessions (checkout completion rate: fewer than 5 checkout starts).

Conversion by device

By device
By operating system
By device and operating system

Where the page is losing people

Sorted by sessions. Rage / dead clicks per 1,000 sessions; scroll depth in CSS px from the top; Core Web Vitals at p75. Hotspot = the 500 px band with the most rage + dead clicks; open the page's heatmap in PostHog to see which element sits there. Dead-click share = (rage + dead) ÷ all clicks in that band. Hover a column heading for its definition; all terms are defined under Methods & Glossary.

Needs attention

Every flag uses the last 7 full days. Checked per device class; Mobile = phones + tablets. Rules under Methods & Glossary.
Desktop
Mobile

Methods & Glossary

Source dashboard in PostHog
Lander names
Which landers count as live
The destination pages of ads that spend in the Meta ad account (Meta Ads API), plus lp-glp1-stack-c and lp-glp1-stack-d, which carry paid traffic from outside Meta (Google Ads / Everflow), and lp-glp1-results-a, the quiz results page. lp-magnesium-a is linked by ~160 ads but redirects to lp-magnesium-b, so its spend is folded into -b. Any lander that appears in the data but is not classified below gets an "Other" tab automatically.
Product tabs
Collagen: lp-amc-ff-a, lp-amc-ff-b · Magnesium: lp-magnesium-b · Fiber: lp-fiber-ff-a/b/c/d · GLP-1 Bundles: the quiz funnel lp-glp1-quiz-a + lp-glp1-companion-a → lp-glp1-results-a · The Elevate Stack: lp-glp1-stack-a/b · GLP-1 Solo: lp-glp1-stack-c/d · Warehouse: lp-blowout-b. Each tab shows only its landers' sessions, checkouts, purchases and spend.
Quiz funnel group
lp-glp1-quiz-a and lp-glp1-companion-a both send visitors through a quiz to lp-glp1-results-a, where the purchase happens, so the three pages are reported as one lander ("GLP-1 Quiz"): sessions are counted on the two entry pages, checkouts and purchases on all three. Which entry page drove a given purchase can't be told apart, so they are credited to the pair. Friction metrics stay per page.
Spend
"Spend" on the lander cards is the total of every ad source read: Meta, Google Ads and Everflow. Everflow: affiliate payout by offer and day from the Everflow network API (the same payout figure the Performance Dashboard uses), credited to the lander in the offer's destination URL; offers pointing at retired landing pages are ignored. Google Ads: daily campaign cost from the GA4 property's linked Google Ads account, assigned to landers by each campaign's landing-page sessions (the four non-brand campaigns each land on one lander; Branded Search, PMAX, Demand Gen retargeting and YouTube prospecting don't land on a lander and are left out of every tab). Meta: ad-level daily spend from the Meta Ads API for every ad set that spent in the window (active and since paused), assigned to a lander by each ad's destination link. Ads whose link can't be read (older creatives beyond the ad-list cap) are assigned to a product by their ad name and counted in that product's totals, but not in the per-lander cards. The small remainder Meta no longer breaks out by ad (deleted ads) is included in the Overview only.
Steps
Session: a PostHog session with a pageview on the lander, excluding crawler sessions (below). Checkout started: sessions firing checkout_started with that lander attributed. Purchase: unique checkout tokens with checkout_completed for that lander. Checkout events fire from the Shopify web pixel in a separate session, so purchases are counted per checkout, not per lander session; express checkouts can complete without a start event, which is why Checkout Completion Rate can exceed 100% on small counts.
Crawlers excluded
Since 2026-09-29, sessions from three kinds of automated visitor are left out of every session count, rate, friction and device figure on this page: headless browsers that report an 800×600 screen and a UTC clock (run from Hetzner, WorldStream, AWS, Google Cloud and Palo Alto Networks servers); Meta's ad-review crawler (Facebook's own network, 2a03:2880::/32); and scripted browsers on Hetzner's cloud networks that report a non-American clock. Network owners were checked against the RIPE and ARIN registries. None of the 6,735 matching sessions from 8/18 to 9/29 ever reached checkout, so checkout starts and purchases are unchanged. In the last 7 days they were about 6% of desktop sessions and 2% of mobile sessions across all landers. Traffic that is likely automated but not proven, such as visits reporting a UTC clock from small US internet providers or Microsoft Azure addresses reporting a Los Angeles clock, is still counted.
Purchase options
Collagen, Magnesium and Fiber tabs only. Each checkout's cart (products, quantities and the subscription flag sent by the Shopify pixel) is matched to the option the lander sells. Collagen: 1-Bag subscription = one bag on subscription; 3-Bag bundle = three bags, one-time; 1 Tub and 2-Tub bundle = one or two tubs, one-time (the bundle adds a free BlenderBottle). Magnesium: 1-, 2- and 3-pack subscription = one, two or three bags on subscription (the free coaching, bottle and stick-pack gifts are ignored). Fiber: 1-, 2- and 3-pack subscription = one, two or three canisters on subscription. Checkout starts and orders are counted as in Steps above; a checkout start can't be matched to its order, so each is counted separately. In this table Checkout % = orders ÷ checkout starts for the option (checkout completion rate), hidden under 5 starts. Source: PostHog insight Xyb2X6OD.
No add-to-cart step
The site does not emit an add-to-cart event yet. When one is instrumented it slots in between session and checkout.
Device classes
Conversion by device uses PostHog's device type and OS from the browser (Mobile / Tablet / Desktop). The Needs Attention tables fold Tablet into Mobile. Rage and dead clicks per device come from the heatmap data, which records the viewport instead of the device: 1,024 CSS px and wider counts as Desktop, narrower as Mobile.
Attention rules
Every rule looks at the last 7 full days (L7). Checked separately for Desktop and Mobile: zero checkout starts on 150+ sessions · checkout started rate down 30%+ versus the 7 days before, with 300+ sessions in both weeks · desktop starting checkout at under half the mobile rate on 200+ desktop and 200+ mobile sessions · 30+ rage clicks or 80+ dead clicks per 1,000 sessions on 500+ sessions. Lander-wide rules, listed in both tables: spend over $1,000 with fewer than 5 purchases · more than half of sessions leaving inside 10 seconds on 500+ sessions.
Windows
Days are America/Los_Angeles and only full days are shown; the current day never appears anywhere on this page. Prior Day = the last full day; L7 / L14 / L30 = the last 7 / 14 / 30 full days; "vs prior" compares with the equal-length window before. The Daily, device, friction and purchase-option tables follow their own period toggles (default L14).

* Tracking on the GLP-1 quiz funnel is a work in progress: lp-glp1-companion-a and lp-glp1-quiz-a hand off to lp-glp1-results-a, and the results page is currently recording only a handful of sessions and checkouts, so the GLP-1 Bundles numbers are low until that instrumentation is fixed.

* PostHog data begins 2026-08-18, so 30-day comparisons have no full prior period until mid-October.

* Roadmap, to be completed before this dashboard build is closed out: move the page to a hosted URL of its own (like the Performance Dashboard) so it is served without the claude.ai artifact bar.