
TL;DR: A/B test your blog posts to see which variants rank better, convert more, and drive engagement.
MDXBird is an A/B testing framework for blog posts built for Next.js/MDX with GDPR-friendly analytics powered by Tinybird. Track which variants rank better, convert better, and drive more engagementβperfect for B2B SaaS where every blog post could be a huge winner.
Pricing & Availability
MDXBird is available in two paths, depending on whether you want infrastructure or insights:
Path 1: Done-for-You Implementation
One-time: $8,500
What you get:
- Full MDXBird setup on your Next.js blog
- My custom blog design and setup that ranks
- Tinybird configuration + first 3 months of Tinybird costs included
- Custom dashboard showing top paths, conversion events, variant performance
- 3 starter A/B tests configured (you tell me which posts to test)
- Documentation: how to create new variants, how to read the data
- 90-minute onboarding call to walk through your first test
- 60 days of technical support (bug fixes, setup issues)
Who this is for:
- Teams with in-house content ops who can run with it
- Companies that want the infrastructure and will figure out the rest
- People who want to try it out before committing to more
The key: This is truly self-serve after 60 days. You'll be able to run tests, read dashboards, and make decisions without me.
Path 2: Optimization Retainer
Setup: $5,000 + $2,500/month (3-month minimum)
What you get:
Setup (Month 1):
- Everything from Path 1
- Kickoff call to understand your content strategy, revenue model, key conversion events
- Baseline audit: which posts are working, which aren't, where the opportunities are
Monthly retainer:
- 2-3 new A/B tests launched per month (I choose what to test based on data)
- Monthly insights report: what we learned, what it means, what to do next
- Optimization recommendations: rewrite this intro, move this CTA, link these posts together
- Dashboard updates: new metrics, new views, custom queries as needs evolve
- Ongoing Tinybird cost coverage (included in retainer)
- Slack/email access for questions
Who this is for:
- Companies that know content is strategic but don't have bandwidth to analyze data
- Teams that want an expert making decisions, not just providing tools
- Anyone who sees this as hiring a "content optimization partner," not buying software
The key: You're paying for insights + recommendations, not just data access. I'm using the tool for you.
Contact me via email or reach out on X to discuss which path makes sense for you.
Here's the problem: In B2B SaaS, every blog post could be a huge winner. But nobody actually does A/B testing for blog posts yet. That literally doesn't exist.
What if you could run two versions of the same blog post and see which one:
- Ranks better on Google
- Has better bounce rate and session duration
- Gets more clicks (crucial for affiliates)
- Converts better for your own products
That's exactly what MDXBird does.
What is MDXBird?
MDXBird is an A/B testing framework specifically built for blog posts. It's like having a mini Plausible/PostHog/Datafast competitor, but designed for testing content variants and tracking conversions.
The twist: It's GDPR-friendly, works seamlessly with Next.js and MDX, and gives you real-time analytics powered by Tinybird.
Why This Matters
Most marketers A/B test landing pages, emails, and ads. But blog posts? They just publish and hope for the best.
That's a massive opportunity, especially for:
- B2B SaaS companies where every blog post could drive signups
- Affiliate marketers tracking which content drives clicks
- Content teams optimizing for engagement and conversions
- SEO-focused businesses testing which headlines and structures rank better
How MDXBird Works
1. Create Variant Files
Instead of one blog post file, you create variants:
content/blog/
βββ affiliate-software.mdx (control)
βββ affiliate-software.b.mdx (variant B)
Both files share the same slug (normalized automatically), but serve different content. MDXBird handles the routing.
2. Deterministic Variant Assignment
MDXBird uses a GDPR-friendly approach: no cookies, no personal data storage.
It assigns variants deterministically based on:
- IP address (hashed for privacy)
- User-Agent
- Browser fingerprint
- Accept-Language and other headers
This means the same visitor always sees the same variant, but we're not storing personal data.
3. Built-in Analytics
Every interaction is tracked automatically:
- Clicks: Which links get clicked (internal vs outbound)
- Scroll depth: How far users read (in 10% increments)
- Session duration: Time on page
- Bounce rate: Whether users engage or bounce
- Device type: Mobile, tablet, desktop
- Geolocation: Country and city (from headers)
- UTM parameters: Campaign tracking
- Referrer: Where traffic comes from
All data flows to Tinybird for real-time analysis.
4. Component Integration
MDXBird provides React components that work seamlessly with MDX:
import { TrackedLink } from '@/lib/mdxbird/components'
// In your MDX content
<TrackedLink href="https://example.com">Tracked Link</TrackedLink>Links are automatically tracked without any manual instrumentation.
Key Features
GDPR-Compliant Tracking
- No cookies: Uses browser fingerprinting instead
- Hashed IPs: IP addresses are SHA-256 hashed before storage
- Privacy-first: Similar approach to Plausible Analytics
- No personal data: Only aggregated metrics
Real-Time Analytics
Powered by Tinybird's high-performance analytics engine:
- Sub-second query times even on millions of events
- Built-in aggregations and dashboards
- SQL queries for custom analysis
- Webhook support for real-time alerts
Seamless Next.js Integration
Works out of the box with:
- Next.js App Router
- MDX content (via Contentlayer)
- Static Site Generation (SSG)
- Server Components
Variant Testing
Test multiple variants:
- Control vs Variant B (
.b.mdx) - Multiple variants (
.v2.mdx,.v3.mdx, etc.) - Deterministic assignment ensures consistent experience
- Query parameter override for manual testing (
?variant=b)
Use Cases
1. SEO Testing
Problem: You have two headlines or content structures. Which one will rank better long-term?
Solution: You can't directly test SEO rankings in real-time, but you can test which variant drives better engagement metricsβand Google rewards that. Create two variants with different H1s, titles, or structures. Track:
- Which variant has lower bounce rate
- Which has better session duration and dwell time
- Which gets more engagement (scroll depth, clicks)
- Which converts better
How it works: Better engagement metrics signal to Google that your content is valuable and relevant. Over time, this leads to improved rankings. Test "Best SEO Tools" vs "SEO Tools That Actually Work" and measure which variant keeps users engaged longer. The variant with better engagement metrics will likely rank higher after Google recognizes the improved user signals.
2. Affiliate Optimization
Problem: You don't know which CTA copy drives more affiliate clicks.
Solution: A/B test different link placements, anchor text, and CTAs. Track:
- Click-through rate per variant
- Which affiliate links perform better
- Revenue per variant
Example: Test "Check Price" vs "View Deal" button text and measure which drives more conversions.
3. Conversion Rate Optimization
Problem: Blog posts drive traffic but not signups.
Solution: Test different content structures:
- Where to place CTAs
- How much social proof to include
- Which case studies resonate
- Call-to-action copy
Example: Test a long-form vs. concise version and see which drives more trial signups.
4. Engagement Optimization
Problem: High bounce rate, low session duration.
Solution: Test content formats:
- Listicles vs. how-to guides
- Technical depth (beginner vs. advanced)
- Visual vs. text-heavy
- Storytelling vs. direct value
Example: Test an image-heavy variant vs. text-only and measure scroll depth and time on page.
Technical Architecture
Server-Side Components
MDXBird uses Next.js Server Components for variant assignment:
import { getAssignedVariant, getBlogPostByVariant } from '@/lib/mdxbird/server'
// In your page component
const variant = await getAssignedVariant(baseSlug)
const post = getBlogPostByVariant(baseSlug, variant)Client-Side Tracking
Tracking happens client-side with batched events:
import { MDXBirdProvider } from '@/lib/mdxbird/components'
<MDXBirdProvider page={slug} variant={variant}>
{children}
</MDXBirdProvider>Events are batched and sent to your API route, which forwards them to Tinybird.
Data Schema
Each event includes:
- Timestamp (Unix milliseconds)
- Session ID (sessionStorage)
- User ID (localStorage)
- Page slug
- Variant name
- Event type (click, scroll, session_start, session_end)
- Event data (link URLs, scroll depth, session duration, etc.)
- Browser metadata (User-Agent, screen size, viewport, etc.)
- Geolocation (country, city)
- UTM parameters
How to Get Started
MDXBird is a custom implementation that requires setup and integration.
Interested in A/B testing your blog posts?
Choose your path:
- Path 1 ($8,500 one-time): Get the complete infrastructure and run it yourself
- Path 2 ($5,000 setup + $2,500/month): Get the infrastructure + ongoing optimization and insights
Get in touch via email or reach out on X to discuss which path makes sense for you.
Analytics & Insights
Key Metrics
MDXBird tracks the metrics that matter:
-
Engagement Metrics
- Average scroll depth per variant
- Session duration
- Bounce rate
-
Conversion Metrics
- Click-through rate (CTR)
- Outbound link clicks
- Internal link clicks
-
SEO Metrics (Indirect Indicators)
- Engagement metrics that signal quality to Google (bounce rate, dwell time, session duration)
- Organic traffic per variant (measured over time)
- User engagement patterns that correlate with better rankings
-
Behavioral Metrics
- Device type breakdown
- Geographic distribution
- Referrer analysis
- UTM campaign performance
Querying Data
With Tinybird, you can run SQL queries like:
SELECT
variant,
COUNT(*) as views,
AVG(session_duration) as avg_duration,
SUM(CASE WHEN session_is_bounce = 0 THEN 1 ELSE 0 END) / COUNT(*) as engagement_rate
FROM mdxbird_events
WHERE page = 'affiliate-software'
AND event_type = 'session_end'
GROUP BY variantWhy Tinybird?
Tinybird is built for real-time analytics:
- Performance: Sub-second queries on billions of events
- Cost-effective: Pay only for what you use
- SQL-native: Query data like a database
- Real-time: Events available immediately
- Scalable: Handles millions of events per day
It's perfect for A/B testing because you need fast, real-time insights to make decisions quickly.
The Competitive Advantage
Nobody else is doing this. Seriously.
While everyone else publishes blog posts and hopes for the best, you'll be:
- Testing which headlines rank better
- Optimizing for conversions, not just traffic
- Making data-driven content decisions
- Scaling what works, killing what doesn't
For B2B SaaS companies, this is a game-changer. Every blog post becomes a conversion optimization opportunity.
Real-World Example
I've already implemented this on my own blog. Here's what I'm testing:
Post: "Best Affiliate Software" (affiliate-software)
Control: Standard listicle format with embedded reviews
Variant B: Comparison table format with side-by-side features
Metrics I'm tracking:
- Which variant has better engagement (lower bounce rate, higher session duration, deeper scroll depth)
- Which gets more affiliate clicks
- Which converts better to newsletter signups
- Which drives better user signals that lead to improved SEO over time
After 30 days, I'll have concrete data on which format works better. The variant with better engagement metrics will likely see improved Google rankings as the algorithm recognizes better user signals. Then I'll apply those learnings to future posts.
Next Steps
If you're ready to weaponize your blog posts:
Choose your path:
- Self-serve ($8,500 one-time): Get the infrastructure, run tests yourself
- Done-for-you ($5,000 setup + $2,500/month): Get infrastructure + ongoing optimization and insights
Get in touch via email or reach out on X to discuss which path makes sense for you.
This is the future of content marketing: data-driven, conversion-focused, and optimized for results.
Ready to A/B test your blog posts? This is a Datafast/Plausible/PostHog competitor, but specifically built for A/B testing content and tracking conversions. Perfect for B2B SaaS where every blog post could be a huge winner.
The setup is insanely quick. The value is extremely high for people doing blogs. And it works seamlessly with Next.js.
Two paths available:
- $8,500 one-time: Complete infrastructure, self-serve
- $5,000 setup + $2,500/month: Infrastructure + ongoing optimization
Get in touch via email or reach out on X to discuss which path makes sense for you.
WRITTEN BY:
Ilias is a former CTO turned SEO strategist who specializes in building scalable content systems that rank, convert, and compound. He's founded multiple ventures including LinkDR (AI-powered backlinks), MagicSpace SEO (CRO-focused agency), AISEOTracker (SEO monitoring), and GenPPT (AI presentations).
He's led SEO and content projects for 50+ brands, producing growth systems that drive 300%+ organic traffic increases through systematic conversion psychology and technical optimization.
Read more about IliasGet weekly insights on seo

How to use AI to write blog posts without hurting your SEO
A practical workflow to write blog posts with AI that rank, built around intent, EβEβAβT, and rigorous editing.

Content Marketing: My Not-So-Straight Path to What Actually Works
Forget the gurus and growth hacks. My personal journey through the content marketing maze, and the simple truths I found about connecting with people.

SEO Strategy: How to grow Startups in 2025
SaaS SEO strategy for busy founders. Learn how to increase organic traffic, improve search rankings, and drive more conversions.