Loading tutorials…
Loading tutorials…
Wix has a 'Google Analytics' integration that requires zero technical work. The problem: it only fires PageView. Ecommerce events, form submits, and custom events don't fire without Tag Manager. Here's the real install.
Who this is forWix site owners installing analytics for the first time or migrating from Universal Analytics to GA4. Especially relevant if you run paid ads and need conversion data.
What you'll need
Step 1
analytics.google.com → Admin → Create Property → set up GA4 from scratch. Note the G-XXXXXXXXXX Measurement ID.
Go to analytics.google.com → Admin (gear icon) → Create Property.
Property name: your brand. Timezone: your business timezone. Currency: primary currency.
Industry + business size: pick closest. Affects benchmarks in reports.
Business objectives: select 'Generate leads' + 'Examine user behavior.' Affects pre-built reports.
Create property → Set up Web data stream → enter your domain → name the stream.
Copy the G-XXXXXXXXXX Measurement ID.
Step 2
Marketing & SEO → Analytics → Google Analytics → paste the G- Measurement ID. Easy path; covers basic pageviews.
Wix Admin → Marketing & SEO → Analytics → Google Analytics.
Paste your G-XXXXXXXXXX Measurement ID. Save.
Wait 5-10 minutes. Visit your live site in incognito, click around 4-5 pages.
GA4 → Reports → Realtime → should see at least one active user.
If you see Realtime: native install is working for basic pageviews.
Note: native install tracks pageviews + automatic events (scroll, outbound clicks, video engagement). Does NOT track ecommerce events, custom events, or form submissions.
Step 3
For ecommerce + custom events, install GTM. Removes native GA, adds full event flexibility.
Create GTM container at tagmanager.google.com. Copy GTM-XXXXXXX container ID.
Wix Admin → Marketing & SEO → Marketing Integrations → Google Tag Manager → paste container ID. Save.
REMOVE GA4 Measurement ID from Marketing & SEO → Analytics → Google Analytics. Avoids duplicate PageView firing.
In GTM: add a GA4 Configuration tag → Tag Type: Google Analytics → GA4 Configuration → paste G-XXXXXXXXXX. Trigger: All Pages. Save.
Preview in GTM (Preview button) → debug window opens → click around your site → verify GA4 Configuration tag fires on every pageview.
Publish container. Live within 1-2 minutes.
Step 4
Wix Stores has a 'Track ecommerce events' setting that pushes events to dataLayer. Enable it + configure GTM triggers.
Wix Admin → Settings → Stores → Marketing Integrations → 'Track ecommerce events' → ON. Pushes purchase, add_to_cart, view_item events to window.dataLayer.
In GTM: create GA4 Event tag for each: GA4 Event tag → Event Name: purchase → Event Parameters: pass through from dataLayer (transaction_id, value, currency, items).
Repeat for: add_to_cart, view_item, begin_checkout, add_payment_info.
Triggers: Custom Event triggers on each event name ('purchase,' 'add_to_cart,' etc.).
Validate in GA4 → Configure → DebugView. Run a test purchase, verify the purchase event fires with correct value + items.
Step 5
GA4 → Configure → Events → mark key events as conversions. Then GA4 → Admin → Google Ads Linking.
GA4 → Configure → Events. Find purchase, generate_lead, sign_up, or your custom conversion events.
Toggle 'Mark as conversion' next to each. Limit to 3-5 conversions max — more becomes noisy.
GA4 → Admin → Property column → Google Ads Linking → Link your Ads account.
Google Ads → Tools → Conversions → 'Import from Analytics' → select GA4 conversions.
Pick ONE source of truth per conversion. If both GA4-imported AND a Google Ads tag fire, you'll double-count. Disable one.
Enable Enhanced Conversions: Google Ads → Conversions → click each → Enhanced Conversions → ON.
Step 6
Same GTM container handles Meta, TikTok, Pinterest, Snap, Reddit, LinkedIn pixels. Add tags + triggers + publish.
GTM → New Tag → Custom HTML → paste your Meta Pixel base code. Set trigger: All Pages. Save.
Add Meta Purchase event: New Tag → Custom HTML → `fbq('track', 'Purchase', { value: X, currency: 'USD' });`. Trigger: Custom Event 'purchase' (the Wix dataLayer event).
Use Variables to pass dynamic values: {{DLV - ecommerce.value}} for the order value, {{DLV - ecommerce.currency}} for currency.
Repeat for AddToCart, ViewContent, InitiateCheckout. Same pattern.
TikTok, Pinterest, etc: same Custom HTML pattern with their respective pixel JavaScript.
Preview + Publish.
Step 7
Run a real test. Verify every event fires in GA4 DebugView + Meta Test Events + browser DevTools.
Install GA Debugger Chrome extension + Meta Pixel Helper extension.
Open your site in incognito. Click 4-5 pages.
GA4 → Configure → DebugView: see your session with full event payloads.
If ecommerce: run a real test purchase. Verify purchase event with correct transaction_id, value, currency, items.
Meta Pixel Helper: verify PageView, ViewContent, AddToCart, Purchase all fire on appropriate pages.
Cross-check 24-48h later: GA4 Reports → Engagement → Events shows the same events at aggregate. Google Ads shows imported conversions.
Common mistakes
Running native GA + GTM GA4 simultaneously
What goes wrong: Pageviews fire twice. Sessions inflated 50-80%. Bounce rate looks artificially low. Conversion rate artificially low. Bidding strategies optimize against bad data.
How to avoid: Remove native GA Measurement ID when using GTM. Pick ONE source.
Expecting ecommerce events without enabling them in Wix Stores
What goes wrong: Wix Stores doesn't push ecommerce events to dataLayer by default. You install GTM, set up triggers, see nothing fire. Hours wasted debugging.
How to avoid: Wix Admin → Settings → Stores → Marketing Integrations → Track ecommerce events → ON. Verify dataLayer events in browser DevTools.
Hardcoding currency / value instead of reading from dataLayer
What goes wrong: Every purchase event reports $0 or $1 instead of the actual order value. Value-based bidding has nothing to optimize against. Smart Bidding underperforms.
How to avoid: Use GTM Variables ({{DLV - ecommerce.value}}, {{DLV - ecommerce.currency}}) to pass dynamic values. Test with a real purchase.
Not enabling Enhanced Conversions
What goes wrong: iOS 14.5+ and Safari ITP strip 15-30% of conversion data. Without Enhanced Conversions, Google Ads sees less attribution. CPA inflates 20-40% over 30-60 days.
How to avoid: Google Ads → Conversions → click each conversion → Enhanced Conversions → ON. Wix passes the customer email automatically at checkout.
Too many conversions marked
What goes wrong: Mark 15 events as conversions → reports become noisy → can't tell which events matter for the business → bidding strategies confused.
How to avoid: Limit to 3-5 conversions max: purchase, generate_lead, sign_up are typical. Track others as events without marking conversion.
Forgetting to test in incognito with ad blockers OFF
What goes wrong: Test in your normal browser → ad blocker silently blocks GA → think install is broken → waste hours debugging a working install.
How to avoid: Always validate in incognito with extensions disabled, on a network that doesn't block analytics. Use GA Debugger extension.
Recap
Done — what's next
How to install the Meta Pixel on Wix
Read the next tutorial
Hand it off
Wix + GA4 install is deceptively simple — paste an ID, see pageviews. The trap: ecommerce events don't fire automatically. A vetted Wix specialist at $14-16/hr can install GA4 + GTM + ecommerce events + ad pixels in 2-4 hours, typically $50-150 total.
See specialist rates
For content sites with no commerce and no paid ads: yes (pageviews + auto-events). For commerce or lead-gen with paid ads: no, you need GTM + custom event triggers for purchase + form tracking.
Universal Analytics was sunset July 2024 — no longer collects data. Only GA4 matters going forward. Old UA properties in your account are read-only history.
Core plan supports GA4 native install. Business plan adds 'Wix Analytics Advanced' (better reports) and more customization. For GTM, Core plan is sufficient.
Wix Forms doesn't natively push form_submit to dataLayer. Workaround: GTM trigger fires on Form Submission with CSS selector targeting Wix form selector (usually `.wix-form-content` or similar — inspect to confirm). Fire GA4 generate_lead event.
Same pattern: install via GTM with Custom HTML tags + Custom Event triggers (using Wix's dataLayer events). Don't use Wix's native 'Marketing Integrations' page for Meta if you have GTM — duplicate firing.
Wix
Wix has a 'Facebook Pixel' field in Marketing Integrations that fires PageView. It doesn't fire Purchase, doesn't support Conversions API, and silently loses 30-50% of iOS attribution. Here's the real install.
Wix
Wix Stores is the right call for small DTC brands under 20 SKUs and budget under $50/mo. Beyond that, Shopify is the better choice. Here's the setup that works inside Wix's lane.
Wix
Wix improved its SEO significantly in 2022-2024 — but the defaults still leave most rankings on the table. The Wix SEO Wiz walks beginners through basics; the real work is what comes after.
Squarespace
Squarespace has a 'Google Analytics' field that accepts a Measurement ID. The problem: it doesn't fire enhanced ecommerce or custom events by default. Here's the install that actually gives you usable data.