Accessibility and Consent in SGEN
SGEN gives you two distinct tools for visitor obligations: a Tracking Consent banner that gates analytics scripts until visitors agree, and an Age Verification gate that blocks site access until visitors confirm their age. Web accessibility — alt text, heading structure, color contrast — is handled through your content and design, not a separate module. This page maps all three areas to the exact admin surfaces that control them.
Gates analytics and tracking scripts until visitors agree. Page content loads either way.
Blocks site access until visitors confirm their age on their first visit.
Alt text, heading structure, and color contrast — handled through your content and design, not a separate module.
Overview
SGEN gives site admins two distinct sets of controls covering how your site treats visitors who need accessible content and visitors who need to make choices about tracking.
Whether your site's analytics and tracking scripts run before a visitor agrees. Controlled through the Tracking Consent module and, separately, the Age Verification gate.
Whether your site's content works for visitors with visual, auditory, cognitive, or motor differences. Controlled through content decisions (alt text, heading structure, link text) and design (color contrast, keyboard navigation).
These two areas appear together in legal and compliance discussions. On a SGEN site they live in separate parts of SG-Admin and work through different mechanisms.
Scope
This reference covers four areas of a SGEN site.
| Area | What it is | Where it lives in SG-Admin |
|---|---|---|
| Tracking Consent | Consent banner that gates analytics scripts | Modules → Tracking Consent |
| Age Verification | Site entry gate for age-restricted content | Settings → Age Verification |
| Alt text | Written descriptions attached to images | Media library · content editors |
| Web accessibility | Heading structure, color contrast, keyboard nav, form labels | SG-Builder · content editors · Custom CSS |
What this page does not cover:
- Automated WCAG compliance auditing — SGEN does not provide this. Use third-party tools such as Lighthouse, axe, or WAVE on your published site.
- Accessibility overlay widgets — SGEN does not include a contrast-toggle or text-size panel module.
- Legal advice on GDPR, CCPA, or ePrivacy compliance — consult your legal adviser for your jurisdiction.
What is covered
How the three areas connect for a visitor arriving at your site.
If enabled, the visitor must confirm their age before any page content loads. Configured in Settings → Age Verification.
If enabled, the visitor sees a consent banner before analytics and tracking scripts run. Page content loads either way. Configured in Modules → Tracking Consent.
Once the visitor is on the page, accessibility is determined by your content: alt text on images, heading structure, and color contrast in your design.
Tracking Consent — the consent banner
The Tracking Consent module places a banner on your public-facing site that asks each visitor to accept or decline analytics and tracking scripts before those scripts run. Page content loads regardless of the visitor's choice — only the scripts are gated.
The banner is off by default on a fresh SGEN site. When disabled, the consent banner does not appear to any visitor.
The feature is controlled from two surfaces.
| Surface | Where to find it | What it does |
|---|---|---|
| Settings | Modules → Tracking Consent | Configure banner text, position, button labels, script exclusions, excluded pages |
| Logs | Modules → Tracking Consent → Logs | Per-session audit log — decision, time-to-decision, landing page, interaction count |
Settings fields — all verified from the admin surface.
| Field | What it controls |
|---|---|
| Enabled | Master switch. Off = banner hidden for all visitors |
| Position | Where the banner appears: Top (default) / Center / Bottom |
| Require checkbox | Adds a checkbox the visitor must tick before clicking Yes |
| Checkbox label | The label text for the required checkbox |
| Content | The banner body text — your privacy notice or consent explanation |
| Yes button text | Label for the accept button (default: "Accept & Enable") |
| Yes button redirect | Optional web address to send the visitor after they click Yes |
| No button text | Label for the decline button (default: "Continue without analytics") |
| No button redirect | Optional web address to send the visitor after they click No |
| Exclude when not consented | Checkboxes for GTM, Microsoft Clarity, Session attribution, Draft form entries |
| Other (regex per line) | Patterns matched against script source or inline script content — matching scripts are suppressed until consent is given |
| Excluded pages | Pages where the banner is not shown regardless of consent state |
How the visitor session works:
If the page is not in the excluded-pages list, the consent banner appears.
The visitor makes their choice on the banner.
On subsequent pageviews, the banner does not appear and scripts run (if accepted) or remain suppressed (if declined).
The decision appears as a row in the Logs tab.
The Logs tab shows one row per visitor session. Columns verified from the admin surface.
| Column | What it records |
|---|---|
| Session Key | Stable per-visitor identifier |
| Gate Shown | Whether the banner was rendered for this session |
| Decision | Accept, Decline, or none yet (no decision recorded) |
| Landing Page | First page the visitor saw |
| Visible (s) | Seconds the banner was visible before action |
| TtD (s) | Time-to-decision, second count from gate shown to choice |
| Interactions | Click / hover / scroll count before decision |
| Updated | When the record was last modified |
Which scripts are gated — the four built-in categories (plus any you add via regex):
- GTM — Google Tag Manager container script
- Microsoft Clarity — session-recording and heatmap script
- Session attribution — SGEN's attribution tracking for lead-source data
- Draft form entries — form pre-fill scripts that track partial submissions
Age Verification — site entry gate
Age Verification is a site-wide entry gate that requires visitors to confirm their age before accessing any page content. When enabled, every visitor sees the age prompt on their first visit. Designed for businesses that sell age-restricted products or serve age-restricted content. Included on every plan — there is nothing to add on.
When enabled, the age gate appears before any page content loads. The visitor sees a logo, content text, and two buttons — Yes and No. If they click No you can redirect them to an external web address. If they click Yes they enter the site and the gate is not shown again for a configurable duration.
Set it up:
Go to Settings in your SG-Admin sidebar.
Scroll to the Age Verification section within the Settings page.
Turn on Enable Age Verification?.
Set the logo, content text, Yes button label, and No button label. Add a No redirect web address if you want visitors who decline to land on a specific external page.
Set how long the confirmation stays remembered for returning visitors.
Click Save Changes. The gate is now live for all visitors on their first visit.
Age Verification vs Tracking Consent at a glance:
| Age Verification | Tracking Consent | |
|---|---|---|
| What it gates | Access to the entire site | Analytics and tracking scripts only |
| When it fires | Before any page content loads | On page load, after page content renders |
| Location in SG-Admin | Settings | Modules → Tracking Consent |
| Default state | Off | Off |
| Visitor action to proceed | Age confirmation click | Accept or Decline analytics |
| Redirect on No | Configurable | Configurable per button |
| Affects page content | Yes — nothing loads until confirmed | No — page content loads regardless |
Alt text and image accessibility
Alt text is a short written description attached to an image. Screen readers read it aloud in place of displaying the image. Search engines use it to understand what the image contains.
In SGEN, alt text is set on individual images — not through a central module. There are two points where you can add it.
| Where | How to reach it |
|---|---|
| Media library (at upload or edit) | SG-Admin → Media |
| Content editor (at insertion) | Page editor, blog post editor, or product editor — image properties panel |
Setting alt text in the Media library means the value carries through to every place that image is used on your site, unless overridden at the insertion point.
Why it matters — alt text affects two things at once.
Screen-reader users rely on alt text to understand your page's images. Without it, they hear the filename or nothing at all.
Search engines use alt text as the primary signal for images. Accurate alt text reinforces the topic of the page and helps images appear in image search.
Examples
Good and poor alt text, side by side.
| Characteristic | Good | Poor |
|---|---|---|
| Describes the image accurately | "Dashboard showing the Pages list" | "image1.jpg" |
| Under 125 characters | 45 characters | 280 characters of keyword stuffing |
| Does not start with "image of" or "photo of" | "SGEN dashboard — Pages list" | "Image of the SGEN dashboard" |
| Empty for decorative images | intentionally empty alt attribute | Alt text describing a purely visual divider |
Decorative images — borders, spacers, abstract backgrounds — should have an intentionally empty alt attribute. This tells screen readers to skip them rather than reading out a description that adds no meaning.
WCAG compliance levels for business sites:
| WCAG Level | What it means |
|---|---|
| A | Minimum. No images without alt text. No content that only uses color to convey meaning. |
| AA | Standard target. Color contrast ratio ≥ 4.5:1 for body text. Captions for videos. Keyboard-navigable interface. |
| AAA | Highest level. Enhanced contrast (7:1), sign-language video alternatives, and more. Rarely required for general commercial sites. |
Web accessibility best practices on SGEN sites
SGEN does not provide a built-in accessibility-overlay widget — there is no module that adds contrast toggles, text-size controls, or screen-reader helpers as a pop-up panel. Accessibility on a SGEN site comes from how you build your content and configure your design.
The areas you control directly:
| Accessibility area | How you control it in SGEN |
|---|---|
| Image alt text | Media library per-image alt field, or at insertion in content editors |
| Heading structure (H1 → H2 → H3) | Set in SG-Builder content blocks, page editor, or blog post editor |
| Link text (descriptive vs "click here") | Written in content editors — SG-Builder text blocks support custom link text |
| Color contrast | Configured in SG-Builder → Globals → color palette; Custom CSS for overrides |
| Keyboard navigation | Depends on your theme's template; SGEN's default templates support tab navigation |
| Form labels | Set in the Forms module — each field has a label and placeholder field |
Analytics, tracking scripts, and consent interaction
The Tracking Consent banner acts as the gate between your analytics integrations and your visitors. The scripts you add in Tools → Google Integrations and Custom Codes are the scripts the banner can gate.
- Tools → Google Integrations — adds GTM, GA4, and Microsoft Clarity scripts to every page. When those integrations are active and the consent banner is on, the GTM and Clarity checkboxes suppress those scripts until consent is given.
- Custom Codes — any script you add via Custom Codes runs unless covered by the consent exclusion list. Add a regex pattern matching your custom script's source or a unique inline string to the "Other" field to gate it.
- Session attribution — SGEN's own lead-source tracking. When you check the Session attribution exclusion, the attribution script is held until the visitor consents.
- reCAPTCHA — used by the Forms module for spam protection and is not gated by Tracking Consent. reCAPTCHA serves a security function independent of analytics tracking.
Vocabulary
The terms used across this reference, as they mean on a SGEN site.
| Term | What it means in SGEN |
|---|---|
| Tracking Consent | The consent banner module — gates analytics scripts before visitor agreement |
| Age Verification | Site-wide entry gate — blocks page access before age confirmation |
| GTM | Google Tag Manager — injects your tag container on every page |
| Microsoft Clarity | Session-recording and heatmap script |
| Session attribution | SGEN's lead-source tracking for contacts and form submissions |
| Exclusion regex | Pattern matched against script source or inline content — matching scripts suppressed until consent |
| Excluded pages | Pages where the consent banner is not shown regardless of consent state |
| ADA consent | Legacy internal label for the Tracking Consent feature — not an accessibility overlay |
| WCAG | Web Content Accessibility Guidelines — the international web accessibility standard |
| Alt text | Short written description attached to an image for screen readers and search engines |
Common mistakes
The errors that most often catch site owners out, and how to correct each one.
| Mistake | What happens | How to fix |
|---|---|---|
| Enabling the consent banner but leaving the exclusion list empty | The banner shows but no scripts are blocked — visitors see a consent request that does nothing | Check GTM, Clarity, Session attribution, or add your own regex patterns |
| Missing alt text on images | Screen readers announce the filename; search engines get no text signal | Edit images in the Media library and add descriptive alt text |
| Setting an Age Verification gate but forgetting the No-redirect | Visitors who decline see a blank page or stay on the gate | Set the No button redirect to an appropriate external web address |
| Adding tracking scripts via Custom Codes but not adding them to the consent regex | Those scripts run regardless of visitor consent choice | Add a regex matching your custom script source or a unique inline string to the "Other" regex field |
| Using decorative images with non-empty alt text | Screen readers read out useless descriptions | Set an intentionally empty alt attribute on purely decorative images — SGEN's Media library accepts an empty string |
| Blocking analytics before consent but not session attribution | Session attribution continues tracking lead source even when GTM and Clarity are off | Check the Session attribution exclusion checkbox alongside GTM and Clarity |
Where to find it
A quick lookup from goal to the exact surface in SG-Admin.
| Goal | Where to go |
|---|---|
| Turn on the tracking consent banner | Modules → Tracking Consent → Settings → Enabled |
| Review consent decisions | Modules → Tracking Consent → Logs |
| Add an age verification gate | Settings → Age Verification |
| Add or edit image alt text | Media → find the image → edit alt field |
| Connect GTM or Microsoft Clarity | Tools → Google Integrations |
| Gate custom analytics scripts | Modules → Tracking Consent → Settings → Other regex |
