Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fanfare.io/llms.txt

Use this file to discover all available pages before exploring further.

Coming SoonLanding page analytics will be integrated with the Fanfare analytics system. Currently, you can use the Beacon tracking system and third-party analytics.

Analytics Overview

Understanding landing page performance helps you:
  • Measure campaign effectiveness
  • Identify optimization opportunities
  • Track conversion from view to entry
  • Compare page variants
  • Plan capacity for high-traffic events

Planned Metrics

Traffic Metrics

MetricDescription
Page ViewsTotal page loads
Unique VisitorsDistinct visitors (cookie-based)
SessionsVisitor sessions
Bounce RateSingle-page visits
Time on PageAverage engagement duration

Conversion Metrics

MetricDescription
Widget ImpressionsExperience widget loads
Authentication StartsUsers who begin auth flow
Authentication CompletionsUsers who complete auth
Experience EntriesSuccessful queue joins / draw entries / bids
Conversion RateEntries / Page Views

Source Metrics

MetricDescription
Traffic SourceDirect, search, social, referral
CampaignUTM campaign tracking
Device TypeDesktop, tablet, mobile
GeographyCountry, region, city

Beacon Tracking

Fanfare’s Beacon system provides analytics infrastructure:

How Beacon Works

Page Load β†’ Beacon Initialized β†’ Events Tracked β†’ Analytics Processed

Tracked Events

The Beacon automatically tracks:
EventTrigger
page_viewPage load
widget_loadExperience widget initializes
auth_startUser begins authentication
auth_completeUser completes authentication
experience_joinUser enters experience
experience_actionUser takes action (bid, etc.)

Custom Events

Track additional events with the Beacon API:
import { beacon } from "@waitify-io/fanfare-sdk-core";

// Track custom event
beacon.track("cta_click", {
  section: "hero",
  button: "join-queue",
});

// Track with experience context
beacon.track("video_play", {
  experienceId: "exp_...",
  videoId: "intro-video",
});

Third-Party Analytics

Google Analytics 4

Add GA4 to landing pages: Until native integration is available, use the SDK:
// In your SDK integration
import { useEffect } from "react";

function LandingPage() {
  useEffect(() => {
    // Initialize GA4
    window.gtag("config", "G-XXXXXXXXXX", {
      page_path: window.location.pathname,
    });
  }, []);

  // Track conversion
  const handleEntrySuccess = () => {
    window.gtag("event", "conversion", {
      send_to: "AW-XXXXXXXXXX/XXXXX",
      value: 1.0,
      currency: "USD",
    });
  };
}

Facebook Pixel

Track Facebook ad conversions:
// Initialize Pixel
useEffect(() => {
  fbq("init", "PIXEL_ID");
  fbq("track", "PageView");
}, []);

// Track conversion
const handleEntrySuccess = () => {
  fbq("track", "Lead", {
    content_name: "Experience Entry",
    content_category: "Queue",
  });
};

Segment

Use Segment as a unified analytics layer:
import { AnalyticsBrowser } from "@segment/analytics-next";

const analytics = AnalyticsBrowser.load({
  writeKey: "YOUR_WRITE_KEY",
});

// Track events
analytics.page("Landing Page", {
  experienceId: "exp_...",
  experienceName: "Summer Drop",
});

analytics.track("Experience Entry", {
  experienceId: "exp_...",
  method: "queue",
});

UTM Tracking

Track campaign performance with UTM parameters:

UTM Parameters

ParameterPurposeExample
utm_sourceTraffic sourceinstagram
utm_mediumMarketing mediumsocial
utm_campaignCampaign namesummer-drop-2024
utm_contentContent varianthero-video
utm_termPaid keywordslimited-sneakers

Example URL

https://acme.fanfare.io/summer-drop/register
  ?utm_source=instagram
  &utm_medium=social
  &utm_campaign=summer-drop-2024
  &utm_content=story-link

UTM Capture

Fanfare captures UTM parameters automatically:
// UTM data available in consumer context
{
  consumer: {
    attributionSource: "instagram",
    attributionMedium: "social",
    attributionCampaign: "summer-drop-2024",
    // ...
  }
}

Performance Monitoring

Core Web Vitals

Monitor landing page performance:
MetricGoodDescription
LCP< 2.5sLargest Contentful Paint
FID< 100msFirst Input Delay
CLS< 0.1Cumulative Layout Shift

Real User Monitoring (RUM)

Beacon collects performance data:
// Automatic performance tracking
beacon.trackPerformance({
  lcp: 1800, // Measured LCP
  fid: 45, // Measured FID
  cls: 0.05, // Measured CLS
});

Conversion Funnels

Track the visitor journey:
Page View
    ↓ (80% continue)
Widget Visible
    ↓ (60% continue)
Auth Started
    ↓ (75% complete)
Auth Completed
    ↓ (95% continue)
Experience Entry
    ↓ (varies by type)
Admission / Win / Purchase

Funnel Analysis (Coming Soon)

Planned features:
  • Visual funnel diagrams
  • Stage-by-stage drop-off rates
  • Segment by source, device, etc.
  • A/B test comparison

A/B Testing

A/B testing capabilities are planned:

Test Types

TestDescription
Page variantsDifferent page designs
CTA textButton copy variations
Hero imageImage variants
Section orderContent arrangement

Current Workarounds

Use third-party A/B testing tools:
  • Optimizely - Enterprise A/B testing
  • VWO - Visual Website Optimizer
  • Google Optimize - Free A/B testing (sunset 2023)
  • Split.io - Feature flags and experiments

Analytics Dashboard (Coming Soon)

The Fanfare dashboard will include landing page analytics:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Landing Page Analytics                                 β”‚
β”‚  Summer Drop 2024 β€’ Last 7 days                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  12,450  β”‚  β”‚  8,200   β”‚  β”‚  4,500   β”‚  β”‚  36.1%   β”‚β”‚
β”‚  β”‚  Views   β”‚  β”‚  Unique  β”‚  β”‚  Entries β”‚  β”‚  Conv.   β”‚β”‚
β”‚  β”‚  +24%    β”‚  β”‚  +18%    β”‚  β”‚  +31%    β”‚  β”‚  +4.2%   β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                         β”‚
β”‚  Traffic Over Time                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  πŸ“ˆ [Chart showing daily traffic]               β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                         β”‚
β”‚  Traffic Sources                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Instagram    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  45%     β”‚   β”‚
β”‚  β”‚  Direct       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ        35%     β”‚   β”‚
β”‚  β”‚  Email        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ                  15%     β”‚   β”‚
β”‚  β”‚  Other        β–ˆβ–ˆ                        5%      β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Export

API Access

Export analytics data via API:
// Coming soon
const analytics = await adminApi.analytics.landingPages({
  pageId: "lp_...",
  startDate: "2024-03-01",
  endDate: "2024-03-15",
  metrics: ["pageViews", "uniqueVisitors", "entries"],
});

Export Formats

FormatUse Case
JSONAPI integration
CSVSpreadsheet analysis
PDFStakeholder reports

Privacy Compliance

GDPR Considerations

  • Beacon respects Do Not Track
  • Cookie consent required for EU visitors
  • Data retention policies apply
  • Right to erasure supported
Display cookie consent for tracking:
// Check consent before tracking
if (hasTrackingConsent()) {
  beacon.track("page_view");
}

Next Steps

Beacon Tracking

Learn about Fanfare analytics

Webhooks

Real-time event notifications

Preview

Test before launching

Experience Metrics

View experience analytics