2027 CONCEPT
Where do you compete?
BUILD / DEVELOPER PLAYBOOK

Make the web
work for you.

Your implementation studio. Learn the concept, follow your platform, ship one change and verify it.

01 · LEARN02 · BUILD03 · VERIFY
</>SEO+AI PLAYBOOK
0 / 48actions checked by you
Measure / STEP 0645–90 min · planning estimate

Install analytics exactly once

Create a trustworthy baseline before adding more trackers.

UNDERSTAND THIS FIRST

GA4 measures events. A Google tag, GTM container and platform integration can all insert tracking; using all three without an ownership plan creates duplicates. Consent configuration and tag loading must work together.

Your implementation route

Connect a custom domain and check your plan's eligibility. Use the native Google Analytics marketing integration and your G- measurement ID. If you already use GTM, choose one owner for the Google tag before connecting another integration.

Platform boundaries & account requirements

Use Wix's native integrations and SEO & GEO tools. Backend examples belong in a supported Wix backend module or an external service, never in a page embed.

Open Wix ↗
BEFORE YOU START

Business-owned GA4 property, a web data stream, measurement ID and a supported consent platform appropriate to the site's visitors.

Follow the steps

Check only after completing
1

Create the property and stream

In Google Analytics, create/select the business account, property and web stream for the production domain. Record timezone and currency deliberately. Copy the G- measurement ID; it is a public identifier, not an API secret.

2

Choose one installation path

Use the native host integration where suitable. Otherwise choose GTM or a direct Google tag in the shared layout. Inventory existing plugins and scripts first. Do not paste the direct-tag recipe on top of a native installation.

3

Connect real consent choices

Use the host/CMP integration and test accepted, denied and withdrawn choices. The expandable direct-tag example demonstrates basic-mode loading only after permission; it is not a complete CMP. GTM should use its consent APIs/templates instead of treating this direct-tag sample as a GTM recipe.

4

Verify measurement on real navigation

Use Tag Assistant, GA4 Realtime/DebugView and the browser network panel. Load a page, navigate, refresh and submit a test form. Check for duplicate page_view events and accidental staging data. SPA route tracking requires one clearly owned route-change mechanism.

Implementation recipes

Expand · choose · copy
</>Direct tag: load after analytics permissionOpen recipe

Custom front-end only, with NO existing tag/native integration. Connect setAnalyticsPermission to your real CMP's initial state and changes. Replace G-XXXXXXXXXX. Default page_view is disabled to avoid sensitive URL/query capture; this example explicitly sends a sanitized initial page view.

// Direct Google tag, basic-mode illustration, not a full CMP.
// Run before any other analytics code. Do not combine with native GA/GTM.
window.dataLayer = window.dataLayer || [];
window.gtag = function () { window.dataLayer.push(arguments); };
gtag("consent", "default", {
  analytics_storage: "denied",
  ad_storage: "denied",
  ad_user_data: "denied",
  ad_personalization: "denied"
});
let analyticsLoaded = false;
window.setAnalyticsPermission = function (allowed) {
  window.analyticsAllowed = allowed === true;
  // Stops GA collection on withdrawal; use the CMP's cookie cleanup too.
  window["ga-disable-G-XXXXXXXXXX"] = !window.analyticsAllowed;
  gtag("consent", "update", {
    analytics_storage: window.analyticsAllowed ? "granted" : "denied"
  });
  if (!window.analyticsAllowed || analyticsLoaded) return;
  analyticsLoaded = true;
  gtag("js", new Date());
  gtag("config", "G-XXXXXXXXXX", { send_page_view: false });
  // Use a reviewed public canonical URL; never a sensitive path/query.
  const canonical = document.querySelector('link[rel="canonical"]')?.href;
  if (canonical) gtag("event", "page_view", {
    page_location: canonical,
    page_title: document.title,
    page_referrer: "" // Explicitly omitted here; plan safe attribution.
  });
  const tag = document.createElement("script");
  tag.async = true;
  tag.src = "https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX";
  document.head.appendChild(tag);
};
// Your CMP must call setAnalyticsPermission(true/false) on initial state
// and every change. Do not automatically call it with true.
// SPA: add ONE reviewed route-change page_view mechanism.
// Review Enhanced Measurement settings; auto events may include URLs.
// This minimal privacy-first example sacrifices referrer attribution.
Review the setup notes and replace example values before using this on your site.
✓ ACCEPTANCE CHECK

One intended page_view occurs per navigation, the selected consent behavior is observed, and no names, emails, phone numbers or sensitive query strings are sent. Denied behavior is checked in the network panel, not guessed from the banner.

↶ RECOVERY PATH

Disconnect the newly added native integration or remove its single tag/container version. Restore the previous configuration and retest page views and consent.

Read the primary instructions

Guidance checked October 7, 2026. “2027” describes this prototype’s visual concept, not a prediction of platform rules.