ResourcesDemo Mode

Demo Mode Guide

Test your earnlayer integration with demo ads before setting up partnerships

Testing Feature

What is Demo Mode?

What is Demo Mode?

Demo mode is a testing feature that allows you to see all available demo advertisements in your application without needing to configure partnerships with advertisers.

Demo Mode
initializeConversation({
  demoMode: true
})
  • Shows ALL ads where advertisers.is_mock_data = true
  • No partnerships configuration required
  • Perfect for testing and development
Production Mode
initializeConversation({
  demoMode: false
})
  • Shows ONLY ads where you have partnerships configured
  • Real revenue tracking
  • Production-ready billing

Database Behavior

Demo Mode (demoMode: true)

When enabled, the system queries all ads from advertisers marked as mock data, regardless of whether you have partnerships configured.
Result: All demo ads are visible, perfect for testing

Production Mode (demoMode: false)

When disabled (default), the system only shows ads where you have established partnerships with the advertiser.
Result: Only ads with configured partnerships are shown

Implementation Examples

Implementation Examples

Basic Setup
import { useEarnLayerClient } from '@earnlayer/sdk/react';

function ChatComponent() {
  export const { initializeConversation } = useEarnLayerClient();

  useEffect(() => {
    initializeConversation({
      demoMode: true  // Enable demo mode
    });
  }, []);

  return <div>Your chat UI</div>;
}
Environment-Based
useEffect(() => {
    const isDevelopment = process.env.NODE_ENV === 'development';

    initializeConversation({
      demoMode: isDevelopment
    });
}, []);

Transitioning to Production

Transitioning to Production

1
Test with Demo Mode
initializeConversation({
  demoMode: true,
  adTypes: ['hyperlink', 'thinking', 'banner'],
  frequency: 'normal'
});
2
Configure Partnerships
1. Go to earnlayer App
2. Set partnerships for advertisers you want to work with
Set Up Partnerships
3
Disable Demo Mode
initializeConversation({
  demoMode: false,  // or simply omit this parameter
  adTypes: ['hyperlink', 'thinking', 'banner'],
  frequency: 'normal'
});
4
Verify Real Ads
const { ad } = useDisplayAd({
  adType: 'banner',
  onAdFetched: (ad) => {
    console.log('Ad fetched:', ad.title);
    // Verify you're seeing real ads
  }
});

Troubleshooting

Troubleshooting

FAQ

FAQ

Q: Will demo mode affect my revenue?
A: No revenue is generated from demo ads. Demo mode is for testing only.
Q: Can I use demo mode with real users?
A: Not recommended. Demo ads don't generate revenue and may not reflect your actual ad inventory.
Q: Can I mix demo and real ads?
A: No. Demo mode shows only demo ads. Production mode shows only real ads with partnerships.

Next Steps