Skip to content

Site Settings

Configure global settings for your Comps.gg platform.

Site Settings

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

Basic Settings

  • 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.

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
  1. Search for competitions to add
  2. Click to add them to the featured list
  3. Use arrow buttons to reorder
  4. 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:

LayoutDescription
Bento GridAsymmetric grid with 1 large + 4 smaller cards. Modern and visually dynamic.
CarouselAuto-rotating full-width slider. Best for focused attention and dramatic images.
Classic GridEqual-sized card grid (3 columns). Clean and balanced presentation.
SpotlightLarge hero + row of smaller cards. Magazine-style editorial layout.
MinimalFull viewport dramatic single card. Luxury and high-end feel.
FilmstripHorizontally scrolling filmstrip, mobile-first.
Stacked CardsOverlapping card stack with a lead competition on top.
Split50/50 split hero with image one side, prize details the other.
EditorialLarge typography-led hero evoking magazine covers.
MosaicDense mosaic with many competitions visible above the fold.
ShowcaseSingle 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.

  1. In the Homepage tab, scroll to Sections
  2. 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
  3. Reorder sections by dragging the handle
  4. 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

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

Referrals Settings

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

  1. Existing users share their referral code or link
  2. New users register using the referral code
  3. When the new user makes a qualifying purchase, the referrer earns reward credit
  4. 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 entriesAvailable count; 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.

  1. Pick a template (order confirmation, winner notification, withdrawal paid, refund processed, etc.)
  2. Edit the subject and body (supports variables like {{ user.firstName }}, {{ order.total }})
  3. Preview with sample data
  4. 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

  1. Navigate to /admin/settings
  2. Modify the desired settings
  3. Click "Save Changes"
  4. Changes take effect immediately

Logo and Favicon

To update branding:

  1. Prepare your images (PNG or SVG recommended)
  2. Click the upload button in the respective section
  3. Select your image file
  4. Preview the uploaded image
  5. Save changes

Recommended Sizes:

  • Logo: 240x60px (transparent PNG)
  • Favicon: 32x32px or 64x64px

Configuring Umami Analytics

  1. Create an Umami analytics account
  2. Set up your website in Umami
  3. Generate a share token
  4. Copy the share token and website ID
  5. Paste into the Advanced tab
  6. Save settings
  7. Access analytics at /admin/website-analytics

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.

  • 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

  1. Open /admin/menus
  2. Pick the menu you want to edit (or create a new one and assign it to a location)
  3. 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)
  4. Drag to reorder
  5. 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

  1. Settings are saved in the database
  2. Backend publishes to the cache:invalidate:settings Redis channel
  3. The frontend server (Nitro), subscribed to the same channel via the shared Upstash instance, clears its settings cache
  4. 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_URL on 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