Can’t find your issue? Chat with us using the support widget or email [email protected]
Quick Diagnostics
If you’re seeing errors, start here:Check Browser Console
Open your browser’s developer tools (F12 or Cmd+Option+I) and look for errors in the Console tab.
Verify Installation
Type
window.grain in the console. If it returns undefined, the SDK isn’t loaded.Authentication Errors (401)
Session Expired / Token Not Found
Error Message:- “Your session has expired. Please refresh the page or sign in again.”
- “Authentication required”
- Your login session expired (tokens expire after inactivity)
- Cookies were cleared or blocked
- Using the app in private/incognito mode
Quick Fix
Quick Fix
- Click the Reload Page button in the error message
- If that doesn’t work, sign out and sign back in
Persistent Issues
Persistent Issues
If you keep getting logged out:
- Check if your browser is blocking third-party cookies
- Disable ad blockers or tracking protection for
grainql.com - Try a different browser to isolate the issue
- Clear browser cache and cookies for
grainql.com
For SDK Users
For SDK Users
Network Errors
Connection Failed / Cannot Reach Server
Error Message:- “Network connection issue. Please check your internet connection and try again.”
- “Failed to fetch”
- “Network error: Unable to connect to server”
- No internet connection
- Firewall or proxy blocking requests
- VPN interfering with connections
- DNS resolution issues
Basic Troubleshooting
Basic Troubleshooting
- Check your internet connection
- Try accessing https://api.grainql.com/health directly
- If the API is unreachable, check if your network blocks analytics services
Corporate/Enterprise Networks
Corporate/Enterprise Networks
If you’re on a corporate network:
- Whitelist
api.grainql.comin your firewall - Whitelist
*.grainql.comto allow all subdomains - Check if your proxy requires authentication
- Contact your IT department to allow analytics traffic
Content Blockers
Content Blockers
Ad blockers and privacy extensions may block Grain:
- Temporarily disable browser extensions
- Add
grainql.comto your extension’s whitelist - Try loading the site in incognito mode (without extensions)
Server Errors (500, 502, 503)
Internal Server Error / Service Unavailable
Error Message:- “Our servers are experiencing issues. Please try again in a few moments.”
- “API error 500”
- “Service temporarily unavailable”
Check Status
Check our status page for known incidents (if available).
Rate Limiting (429)
Too Many Requests
Error Message:- “Rate limit exceeded. Please try again later.”
- “Too many requests”
If You Hit Event Limits
If You Hit Event Limits
If You Hit Query API Limits
If You Hit Query API Limits
Upgrade Your Plan
Upgrade Your Plan
If you consistently hit limits, upgrade your plan for higher quotas.
SDK Not Loading
window.grain is Undefined
Symptoms:
- Console error:
grain is not defined - Events not being tracked
- No network requests to
api.grainql.com
- npm/yarn Package
- CDN Script Tag
- Google Tag Manager
- Package is installed:
npm list @grainql/analytics-web - Import statement is present
- Init is called before tracking
Events Not Appearing in Dashboard
Events Sent But Not Visible
Possible Causes:1. Time Delay
1. Time Delay
Events can take 1-2 minutes to appear in the dashboard.Solution: Wait 2-3 minutes and refresh the dashboard.
2. Wrong Tenant ID
2. Wrong Tenant ID
You might be sending events to the wrong tenant.Find your tenant ID: Dashboard → Settings → Tenant ID
3. Events Filtered Out
3. Events Filtered Out
Check if you have filters applied in the dashboard:
- Date range too narrow
- Event name filters active
- User filters excluding your events
4. Privacy/Consent Blocking
4. Privacy/Consent Blocking
5. Network Issues
5. Network Issues
Check browser console and Network tab for:
- Failed POST requests to
/v1/events - CORS errors
- 4xx or 5xx status codes
Dashboard Errors
Data Not Loading / Blank Charts
Error Message:- “Error fetching dashboard data”
- “Failed to load analytics”
Mission Control Not Loading
Specific to Mission Control (conversion tracking):No Goals Configured
No Goals Configured
Mission Control requires at least one goal to be set up.Solution:
- Go to Mission Control
- Click “Configure Goals”
- Set up your first conversion goal
Insufficient Data
Insufficient Data
Goals need at least 10 events to show statistics.Solution: Wait for more data to accumulate or send test events.
CORS Errors
Cross-Origin Request Blocked
Error Message:- “Access to fetch at ‘https://api.grainql.com/…’ blocked by CORS policy”
- “No ‘Access-Control-Allow-Origin’ header”
Common Patterns:
TypeScript Errors
Type Issues with SDK
Common Issues:Module Not Found
Module Not Found
Window Type Error
Window Type Error
Event Properties Type
Event Properties Type
Performance Issues
Slow Page Load / High Bundle Size
If using npm package:Integration-Specific Issues
Next.js Issues
Next.js Issues
React Issues
React Issues
Events firing multiple times in developmentThis is normal in React 18 StrictMode (development only).See React Quick Start for more.
Shopify Issues
Shopify Issues
Theme conflictsSome themes interfere with the SDK. See Shopify Integration.
WordPress Issues
WordPress Issues
Plugin conflictsCaching or optimization plugins may break tracking. See WordPress Integration.
Validation Errors (400)
Invalid Input / Malformed Request
Common Validation Errors:Tenant ID Format
Tenant ID Format
Event Name Format
Event Name Format
Event Properties
Event Properties
Still Having Issues?
If none of the above solutions work:Live Chat
Click the chat widget in the bottom-right corner of grainql.com
Email Support
Email us at [email protected] with:
- Error message and code
- Browser console logs
- Network tab screenshot
- Steps to reproduce
Community Discord
Join our Discord for community support (coming soon)
GitHub Issues
Report SDK bugs on GitHub