Appearance
Site Settings
Configure global settings for your Comps.gg platform.
Route
/admin/settings
Overview
The Settings page allows you to configure essential site-wide settings including branding, contact information, and third-party integrations.
Tabs
The Settings page is organized into tabs:
- General - Basic site information, contact details, and legal pages
- Homepage - Homepage section builder and hero configuration
- Appearance - PWA settings, theme colors, typography, background pattern, and visual customization
- Menus - Header, footer, and legal menu management
- Referrals - Referral program settings
- Checkout - Minimum card payment, wallet credit, odds calculator, and checkout notice
- Identity Verification - Toggle gates for withdrawals and prize claims; full workflow documented in ID Verification
- Responsible Gaming - Configurable spend-alert thresholds and post-RG-lift caps
- Email - Template editor, instant win email delay, transactional copy
- Marketing - Facebook Pixel, Google Analytics, TikTok Pixel
- RNG - Random Number Generator provider settings
- Advanced - Analytics integrations (Umami) and developer options
General Tab
Basic Information
- Site Name - Your platform's display name
- Site Tagline - Brief description or slogan
- Logo - Upload your site logo (recommended: transparent PNG, 240x60px)
- Favicon URL - Your site favicon URL
Contact Information
Configure contact details for platform communications:
- Contact Email - Displayed on website and receives admin notifications
- Support Phone - Customer support phone number
Winner Instructions
Configure custom instructions that appear in prize notification emails sent to winners:
- Claim Instructions - Custom text displayed in winner notification emails
- Use to communicate:
- ID verification requirements
- Wait period information (e.g., "Please allow 14 days for processing")
- Bank details collection for cash prizes
- Prize claim procedures
If left blank, a default message is used in notification emails.
Legal Pages
Link to your legal documentation:
- Terms & Conditions - Select a CMS page or enter an external URL
- Privacy Policy - Select a CMS page or enter an external URL
Free Entry Route
Configure alternative entry method for competitions:
- Free Entry Page - Select a CMS page or enter an external URL for postal entry instructions
Social Media
Configure social media links displayed on your site:
- Facebook URL - Your Facebook page URL
- Twitter URL - Your Twitter/X profile URL
- Instagram URL - Your Instagram profile URL
Homepage Tab
Featured Competitions
Select up to 5 competitions to feature in the homepage hero section:
- Position 1 - Displays as the large card on the left
- Positions 2-5 - Display as smaller cards on the right
Managing Featured Competitions
- Search for competitions to add
- Click to add them to the featured list
- Use arrow buttons to reorder
- Click X to remove from featured
Note: Only active competitions will be shown, even if their IDs are in the featured list.
Hero Layout
Choose the layout style for your homepage hero section. The set of layouts has been expanded — pick whichever best matches your brand tone:
| Layout | Description |
|---|---|
| Bento Grid | Asymmetric grid with 1 large + 4 smaller cards. Modern and visually dynamic. |
| Carousel | Auto-rotating full-width slider. Best for focused attention and dramatic images. |
| Classic Grid | Equal-sized card grid (3 columns). Clean and balanced presentation. |
| Spotlight | Large hero + row of smaller cards. Magazine-style editorial layout. |
| Minimal | Full viewport dramatic single card. Luxury and high-end feel. |
| Filmstrip | Horizontally scrolling filmstrip, mobile-first. |
| Stacked Cards | Overlapping card stack with a lead competition on top. |
| Split | 50/50 split hero with image one side, prize details the other. |
| Editorial | Large typography-led hero evoking magazine covers. |
| Mosaic | Dense mosaic with many competitions visible above the fold. |
| Showcase | Single full-bleed competition with animated ticket counter. |
Auto-Draw Badge
Toggle Show Auto-Draw Badge to display a half-pill badge on competition cards whose draw is scheduled to run automatically. Gives users confidence that there's a fixed draw date.
Homepage Section Builder
Below the hero, you can now compose the rest of the homepage with drag-and-drop sections. Each section has its own layout, filter, and optional heading.
- In the Homepage tab, scroll to Sections
- Click Add Section and pick a type:
- Competition Grid — filtered list (by tag, status, featured flag)
- Winners Ticker — live-updating recent winners
- Prize Showcase — hand-picked instant-win prize carousel
- Text Block — rich-text promo copy
- Call-to-action — headline + button
- Reorder sections by dragging the handle
- Save — the homepage cache is invalidated automatically
Appearance Tab
PWA Configuration
Configure your Progressive Web App (PWA) settings:
- PWA Icon (512x512) - App icon displayed on home screens
- Required for push notifications and app installation
Theme Customization
Customize the color scheme of your site:
- Background Color - Main page background (default: #0f172a)
- Button Color - Primary button color (default: #3b82f6)
- Card Color - Card background color (default: #1e293b)
- Accent Color - Highlights, badges, and gradients (default: #8B5CF6)
A live preview shows how your theme colors will look across the site.
Typography
Customize the font used across your site:
- Site Font - Choose from a curated selection of Google Fonts (the list has been expanded)
- Preview shows how text will appear with your selected font
Header & Footer Colors
Pick independent background colors for the header and footer so they can contrast with your main background:
- Header Background - Defaults to Card Color
- Footer Background - Defaults to Card Color
Background Pattern
Apply a tiled background pattern behind your site content for a textured feel:
- Pattern - None, Dots, Grid, Diagonal Lines, Triangles (plus more)
- Pattern Color & Opacity - Controlled indirectly via the accent color and a low default alpha so the pattern doesn't compete with cards
Visual Customization
Fine-tune the visual style of buttons, cards, and layout elements:
- Border Radius - Control the roundness of UI elements
- Card Style - Configure card appearance options
Referrals Tab
Configure the referral program that rewards users for bringing new customers.
Referral Settings
- Enable Referrals - Toggle the referral program on/off
- Qualifying Amount - Minimum purchase amount for a referral to qualify (e.g., £10.00)
- Reward Amount - Wallet credit given to referrer when referral qualifies (e.g., £5.00)
- Max Referrals Per User - Limit on how many referrals a single user can make
Fraud Warning
- Fraud Warning Message - Optional warning text displayed on referral pages
- Use to warn users about prohibited behaviors (e.g., self-referrals, fake accounts)
- Leave blank to show no warning
How Referrals Work
- Existing users share their referral code or link
- New users register using the referral code
- When the new user makes a qualifying purchase, the referrer earns reward credit
- Reward is added to referrer's wallet balance
Settings Behavior
- Settings are locked (read-only) when referral system is disabled
- Enable the system to modify settings
- Changes take effect immediately for new referrals
See Referrals Management for managing referrals and viewing statistics.
Checkout Tab
Minimum Card Payment
Protect against unprofitable small transactions:
- Minimum Card Payment Amount - Set the minimum amount for card payments (max £1,000)
- Orders fully covered by wallet credit bypass this check
Why set a minimum? Payment gateways charge a flat fee plus percentage per transaction. Very small card payments may cost more in fees than the order value itself.
Wallet Credit
Configure how wallet credit is applied during checkout:
- Auto-Apply Wallet Credit - Automatically use wallet credit at checkout when available (always enabled)
This reduces abandoned checkouts where customers realize they're not using their credit.
Odds Calculator
Surface an odds / probability widget on the competition page so customers can see their chance of winning based on tickets remaining and how many they plan to buy.
- Show Odds Calculator — Toggle on/off
- When on, the calculator appears below the ticket selector; users can drag the quantity slider and see live odds update
- Uses the public competition
entriesAvailablecount; no private data is exposed
Checkout Notice
Display a custom notice on the checkout page above the payment buttons (e.g. "All orders placed after 8pm UK will be processed next business day").
- Checkout Notice Text — Rich text field, supports basic markdown
- Leave blank to hide
Registration Terms Acceptance
The registration form now requires customers to tick a Terms & Conditions acceptance box. The Terms Page (set on the General tab) is linked from the checkbox label. A record of acceptance (timestamp + version) is stored on the user so you can prove consent later.
Responsible Gaming Tab
Configure the thresholds that drive the Responsible Play warnings and auto-limits.
- Daily Spend Alert — Amount (GBP) above which a user triggers a daily RG alert
- Weekly Spend Alert — Weekly equivalent
- Monthly Spend Alert — Monthly equivalent
- Large Single Order Threshold — Single-order value that triggers an alert regardless of rolling totals
- Post-Limit-Removal Spend Cap — After a user's RG limit is lifted (e.g. they self-unrestricted), the platform caps their spend until they stabilise. Max £5,000.
When a threshold is crossed, an admin email is sent and the user's record is flagged on the Responsible Play dashboard.
Email Tab
Template Editor
Edit the content of transactional emails directly from the admin area — no code deploy required.
- Pick a template (order confirmation, winner notification, withdrawal paid, refund processed, etc.)
- Edit the subject and body (supports variables like
{{ user.firstName }},{{ order.total }}) - Preview with sample data
- Save — changes are cached for 5 minutes at the template layer and then propagate
Each save is audit-logged so you can roll back to a previous version.
Instant Win Email Delay
Delay instant-win notification emails so a burst of wins doesn't flood a customer's inbox mid-session.
- Instant Win Email Delay — Minutes to wait before sending. A single digest email is sent covering every instant win in the window.
Logo in Emails
The email logo is rendered in a dark box that uses your theme's Card Color so it matches your brand even in dark-mode email clients. The logo is clickable and links to your site.
Marketing Tab
Configure third-party tracking and pixel integrations.
- Facebook Pixel ID — For Meta conversion tracking
- Google Analytics ID — GA4 measurement ID
- TikTok Pixel ID — For TikTok Ads conversion tracking (new)
Pixels fire on page views, add-to-cart, and purchase events. Customers who have withdrawn marketing consent are excluded automatically.
Once your Facebook Pixel ID is set, you can also run Meta Dynamic Product Ads. Your site publishes a live competition catalogue feed for this automatically. See Meta Product Ads to connect it in Commerce Manager.
RNG Tab
Random Number Generator
All competition draws are executed using the Comps.gg RNG — a built-in cryptographic random number generator (ChaCha20 CSPRNG). Draws are Ed25519-signed and publicly verifiable from every result page, with zero external dependencies, no API limits, and a full audit trail.
Advanced Tab
Analytics Integration
Umami Analytics
Configure Umami analytics integration:
- Umami Website ID - Your Umami website identifier
- Umami Share Token - Generate a share URL in Umami and paste the token
Once configured, analytics will be available at /admin/website-analytics.
Usage
Updating Settings
- Navigate to
/admin/settings - Modify the desired settings
- Click "Save Changes"
- Changes take effect immediately
Logo and Favicon
To update branding:
- Prepare your images (PNG or SVG recommended)
- Click the upload button in the respective section
- Select your image file
- Preview the uploaded image
- Save changes
Recommended Sizes:
- Logo: 240x60px (transparent PNG)
- Favicon: 32x32px or 64x64px
Configuring Umami Analytics
- Create an Umami analytics account
- Set up your website in Umami
- Generate a share token
- Copy the share token and website ID
- Paste into the Advanced tab
- Save settings
- Access analytics at
/admin/website-analytics
Menu Management
Route
/admin/menus
Overview
Build custom header, footer, and legal menus without touching code. Each menu is a named list of links rendered in a specific location on the site.
Menu Locations
- Header — Top navigation on every page
- Footer — Links in the footer grid (e.g. About, Contact, Help)
- Legal — Small-print links near the bottom of the footer (Terms, Privacy, Cookies, Responsible Gaming)
The Legal location is new — previously these links were hardcoded to the Terms / Privacy URLs in General settings; now you can add as many legal links as you need.
Building a Menu
- Open
/admin/menus - Pick the menu you want to edit (or create a new one and assign it to a location)
- Add items — each item has:
- Label — Text to display
- Link — CMS page (picker), external URL, or a system route (e.g.
/competitions) - Open in new tab — For external links
- Parent — Nest items under another for dropdowns (header only)
- Drag to reorder
- Save — the menu cache is invalidated automatically so users see the change on next request
Cache Invalidation
When you update site settings, the frontend cache is automatically invalidated so changes appear immediately.
How It Works
- Settings are saved in the database
- Backend publishes to the
cache:invalidate:settingsRedis channel - The frontend server (Nitro), subscribed to the same channel via the shared Upstash instance, clears its settings cache
- The next user request to the frontend server fetches fresh settings
Technical Details
- Frontend caches site settings for 24 hours
- Invalidation is transported via Redis pub/sub (no HTTP endpoint, no shared secret)
- Requires
NUXT_REDIS_URLon the frontend to point at the same Upstash instance the backend publishes to - Fallback: cache expires naturally after the TTL if invalidation fails
See Cache Invalidation Documentation for the full architecture.
Tips
- Keep contact emails current and monitored
- Test logo and favicon on different devices
- Verify Umami integration after configuration
- Review settings periodically for accuracy
- Changes take effect immediately due to automatic cache invalidation