Analytics
Analytics integration and tracking
Analytics
Chameleon integrates multiple analytics providers to track user behavior, performance metrics, and business insights.
Overview
The analytics system supports Google Analytics, OpenPanel, and Plausible for comprehensive website tracking. Analytics are automatically enabled in production and can be configured through environment variables. The system tracks page views, user interactions, and custom events across the application.
Setup
Environment Variables
Configure analytics providers in your environment:
# Google Analytics
NEXT_PUBLIC_GOOGLE_ANALYTICS_ID="G-XXXXXXXXXX"
# OpenPanel
NEXT_PUBLIC_OPENPANEL_CLIENT_ID="your-openpanel-client-id"
# Plausible
NEXT_PUBLIC_PLAUSIBLE_DOMAIN="your-domain.com"
Provider Setup
Google Analytics:
- Create a Google Analytics 4 property
- Get your Measurement ID (G-XXXXXXXXXX)
- Add to
NEXT_PUBLIC_GOOGLE_ANALYTICS_ID
OpenPanel:
- Sign up at OpenPanel
- Create a new project
- Get your client ID from project settings
- Add to
NEXT_PUBLIC_OPENPANEL_CLIENT_ID
Plausible:
- Create account at Plausible
- Add your domain
- Get your domain name
- Add to
NEXT_PUBLIC_PLAUSIBLE_DOMAIN
Usage
Analytics Component
The analytics are automatically loaded in production:
// src/components/analytics/index.tsx
export default function Analytics() {
if (process.env.NODE_ENV !== "production") {
return null;
}
return (
<>
<OpenPanelAnalytics />
<GoogleAnalytics />
<Plausible />
</>
);
}
Custom Event Tracking
Track custom events in your components:
// Track AI generation events
import { trackEvent } from "@/lib/analytics";
const handleGenerate = async () => {
trackEvent("ai_generation", {
provider: "openai",
type: "image",
credits_cost: 5
});
};
Page View Tracking
Page views are automatically tracked, but you can track custom page views:
import { trackPageView } from "@/lib/analytics";
// Track custom page view
trackPageView("/custom-page", "Custom Page Title");
File Locations
src/components/analytics/index.tsx- Main analytics componentsrc/components/analytics/google-analytics.tsx- Google Analytics integrationsrc/components/analytics/openpanel.tsx- OpenPanel integrationsrc/components/analytics/plausible.tsx- Plausible integrationsrc/lib/analytics.ts- Analytics utility functions
Common Tasks
View Analytics Data
Google Analytics:
- Go to Google Analytics Dashboard
- Select your property
- View Real-time and standard reports
OpenPanel:
- Login to your OpenPanel Dashboard
- Select your project
- View real-time analytics
Plausible:
- Go to Plausible Dashboard
- Select your site
- View detailed analytics
Track Custom Events
// Track user actions
trackEvent("button_click", {
button_name: "purchase_credits",
page: "/pricing"
});
// Track AI usage
trackEvent("ai_generation_complete", {
provider: "kling",
type: "video",
duration: 45
});
Monitor Performance
// Track page load times
trackEvent("page_performance", {
page: "/ai-generator",
load_time: 1200,
user_agent: navigator.userAgent
});
Troubleshooting
Analytics not loading
Problem: No data appearing in analytics dashboards
Solution:
- Check environment variables are set correctly
- Verify you're in production mode (
NODE_ENV=production) - Check browser console for errors
- Ensure domain is properly configured
Google Analytics not tracking
Problem: GA4 not receiving data
Solution:
- Verify Measurement ID format (G-XXXXXXXXXX)
- Check Google Analytics property is active
- Use Google Tag Assistant to debug
- Ensure no ad blockers are interfering
OpenPanel connection issues
Problem: OpenPanel not connecting
Solution:
- Verify client ID is correct
- Check OpenPanel project is active
- Ensure domain matches your site
- Check network connectivity
Next Steps
- SEO - Search engine optimization
- User Center - User analytics
- Admin System - Admin analytics