Customization
Banner basics: brand, languages, categories
Set branding, languages, and consent defaults quickly
This guide covers everything you need to configure a clean, on-brand, and compliant consent banner. From colors and logos to layout positions and category defaults, set up your banner in minutes.
Branding and Colors
Setting Your Brand Colors
- Go to Domains > [your domain] > Widget Configuration.
- Configure these color settings:
| Setting | What it affects | Tips |
|---|---|---|
| Primary Color | Accept button, toggle switches when active, links | Use your brand's primary CTA color |
| Secondary Color | Reject/Preferences buttons, secondary actions | Should contrast with primary but complement it |
| Background Color | Banner background | Use white or a light shade for readability; dark backgrounds work for dark-themed sites |
| Text Color | All body text in the banner | Ensure WCAG AA contrast ratio (4.5:1) against the background |
| Link Color | Privacy policy and other hyperlinks | Make links visually distinct from body text |
Logo
- Upload a logo under Branding in Widget Configuration.
- Recommended size: 120-200px wide, PNG or SVG with transparent background.
- The logo appears in the banner header area, reinforcing trust.
- If no logo is uploaded, only your banner title text appears.
Typography
- The banner inherits your site's default font family by default.
- To override, use Custom CSS in your GetCookies dashboard:
.gc-banner {
font-family: 'Inter', 'Helvetica Neue', sans-serif;
}Banner Position and Layout
Position Options
Choose where the banner appears on the page:
| Position | Description | Best for |
|---|---|---|
| Bottom bar | Full-width bar at the bottom of the viewport | Most sites; least intrusive while visible |
| Top bar | Full-width bar at the top of the viewport | Sites where bottom is crowded (chat widgets, etc.) |
| Bottom Left | Popup card in the bottom-left corner | Sites that want a compact, non-intrusive banner |
| Bottom Right | Popup card in the bottom-right corner | Alternative compact position |
| Center modal | Centered overlay with backdrop | When you want to ensure users make a choice before proceeding |
Layout Styles
- Compact: Minimal text with Accept/Reject buttons. Best for repeat visitors and simple sites.
- Expanded: Shows category toggles directly without requiring a second click. Better for transparency and GDPR regions where granular choice matters.
- Wall (blocking): Full-page overlay that prevents interaction until consent is given. Use sparingly -- required in some interpretations of ePrivacy regulations.
Avoiding Layout Shift
- The bottom bar position can push page content up on load. To prevent this, the banner uses
position: fixedby default and floats over content. - If you prefer the banner to push content, enable "Push content" in Widget Configuration (note: this may cause layout shift on Core Web Vitals).
- For the center modal, a backdrop overlay prevents interaction but does not shift content.
Button Configuration
Button Text
Customize all button labels under Widget Configuration:
| Button | Default text | Guidelines |
|---|---|---|
| Accept All | "Accept All" | Keep it short (2-3 words). Alternatives: "Allow All", "I Agree" |
| Reject All | "Reject All" | Must be present for GDPR compliance. Alternatives: "Deny", "Only Necessary" |
| Preferences | "Manage Preferences" | Opens the detailed category view. Alternatives: "Customize", "Settings" |
| Save | "Save Preferences" | Shown after toggling categories. Alternatives: "Confirm Choices" |
Button Visibility
- Reject All button: Always enable this for GDPR/ePrivacy compliance. EU data protection authorities require that rejecting cookies is as easy as accepting them.
- Preferences button: Always show this so users can make granular choices.
- Close (X) button: Optional. If enabled, closing the banner without a choice treats all non-necessary cookies as denied.
Languages and Translations
Adding Languages
- Go to Domains > [your domain] > Languages.
- Click Add Language and select from the available list.
- For each language, translate:
- Banner title and description text
- Button labels (Accept, Reject, Preferences, Save)
- Category names and descriptions
- Privacy policy link text
Auto-Detection
- Enable Auto-detect language to show the banner in the visitor's browser language.
- Set a fallback language for visitors whose language is not configured.
- GetCookies detects language via the browser's
Accept-Languageheader.
RTL Support
- GetCookies supports right-to-left (RTL) languages like Arabic and Hebrew.
- RTL layout is applied automatically when an RTL language is detected.
Consent Categories
Default Categories
| Category | Purpose | Consent required? | Default state |
|---|---|---|---|
| Necessary | Essential functions: login, cart, security, accessibility | No (always on) | Granted |
| Analytics | Traffic measurement, heatmaps, session recording | Yes | Denied |
| Marketing | Advertising, retargeting, conversion tracking | Yes | Denied |
| Preferences | User preferences: language, theme, personalization | Yes | Denied |
Customizing Categories
- Rename categories in Widget Configuration if your privacy policy uses different terms (e.g., "Functional" instead of "Preferences").
- Add descriptions for each category that explain what scripts/cookies it includes in plain language.
- Map each category to the appropriate Google Consent Mode signals if using Consent Mode v2.
Category-to-Consent-Mode Mapping
| GetCookies category | Google Consent Mode signals |
|---|---|
| Necessary | security_storage (always granted) |
| Analytics | analytics_storage |
| Marketing | ad_storage, ad_user_data, ad_personalization |
| Preferences | functionality_storage, personalization_storage |
Advanced: Custom CSS
For styling beyond what the visual editor provides, add custom CSS in your GetCookies dashboard:
/* Rounded buttons */
.gc-banner .gc-btn-accept,
.gc-banner .gc-btn-reject,
.gc-banner .gc-btn-preferences {
border-radius: 25px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* Gradient accept button */
.gc-banner .gc-btn-accept {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
}
/* Softer shadow on the banner */
.gc-banner {
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
border-radius: 12px 12px 0 0;
}
/* Mobile adjustments */
@media (max-width: 768px) {
.gc-banner {
padding: 12px 16px;
font-size: 13px;
}
.gc-banner-buttons {
flex-direction: column;
gap: 8px;
}
}CSS Class Reference
| Class | Element |
|---|---|
.gc-banner | Main banner container |
.gc-banner-title | Banner heading |
.gc-banner-text | Banner description text |
.gc-btn-accept | Accept all button |
.gc-btn-reject | Reject all button |
.gc-btn-preferences | Manage preferences button |
.gc-btn-save | Save preferences button |
.gc-category | Category toggle container |
.gc-category-name | Category name label |
.gc-category-desc | Category description |
.gc-toggle | Toggle switch |
.gc-overlay | Backdrop overlay (for modal/wall positions) |
.gc-preferences-panel | Detailed preferences panel |
Floating Preferences Button
After the user makes a consent choice, the banner hides but a small floating button remains so they can change their preferences at any time. This is required by GDPR.
- Configure the button position: bottom-left or bottom-right.
- Customize the button icon and color in Widget Configuration.
- The button opens the same preferences panel as the "Manage Preferences" button on the banner.
Accessibility
GetCookies banners are built with accessibility in mind:
- Keyboard navigation: All buttons and toggles are focusable and operable with Tab/Enter/Space.
- Screen readers: ARIA labels and roles are applied to all interactive elements.
- Focus trapping: When the modal is open, focus is trapped inside it so screen reader users do not get lost.
- Color contrast: Default themes meet WCAG AA contrast ratios. Verify contrast if you use custom colors.
- Reduced motion: Animations respect the
prefers-reduced-motionmedia query.
Test Before Publishing
- Open your site in an incognito window to see the banner as a new visitor.
- Check that the banner appears correctly on desktop and mobile.
- Verify all buttons work: Accept All, Reject All, Manage Preferences, Save Preferences.
- Switch languages (if configured) and check that text fits within the banner layout.
- Toggle each category and verify scripts are blocked/unblocked accordingly.
- Check the floating preferences button appears after making a choice and reopens the preferences panel.
- Test with a screen reader (VoiceOver, NVDA, or JAWS) to verify accessibility.
Still stuck?
Email [email protected] with your domain and what you tried. Signed-in customers can also open a ticket from the dashboard.