Advanced Tracking and Analytics
Connect GA4 or Google Tag Manager under Settings → Integrations to track product views, add-to-cart, and completed checkout on your storefront—reconcile revenue with orders in Products and dashboard Analytics.
ArtInStack tracks your entire storefront funnel automatically. By connecting analytics, you can see exactly which high-altitude landscape prints catch the most attention, where collectors drop off in the checkout process, and which gallery styles drive the highest order values.
That reporting lives in your Google Analytics account—not in ArtInStack’s built-in charts. Dashboard home traffic and Analytics → Newsletter / Affiliates / Ad embed measure activity inside ArtInStack. See Dashboard analytics overview for that split.
Which setup is right for your studio?
Which setup is right for your studio?
│
┌────────────────────────┴────────────────────────┐
▼ ▼
【 Simple & Fast 】 【 Advanced Control 】
I just want basic stats. I run paid ads or Meta pixels.
│ │
▼ ▼
👉 Connect GA4 only 👉 Connect GTM only
Choose Google Analytics 4 (GA4) only if you want a simple setup to track visitors and page views on your public site right out of the box. You paste your Measurement ID (G-…) in ArtInStack; no Google Tag Manager account required for basic traffic.
Choose Google Tag Manager (GTM) only if you track advanced advertising (Meta Pixel, Google Ads, multiple tags) or want full store funnel and revenue reporting—product views, add-to-cart, and completed purchases. You paste your container ID (GTM-…) in ArtInStack, then wire triggers and tags in tagmanager.google.com.
| Path | Paste in ArtInStack | You get | Funnel + revenue in GA4 |
|---|---|---|---|
| Simple & fast | Measurement ID only (G-…) | Page views via gtag | No — add GTM later for view_item / add_to_cart / purchase |
| Advanced control | GTM container ID only (GTM-…) | Full control in GTM | Yes — after you configure tags (Step 4) |
Legacy Universal Analytics (UA-…) IDs are not accepted.
What you gain
- Storefront conversion visibility — see which products and priced photos attract views, what gets added to the cart, and when checkout completes.
- Marketing accountability — tie ad spend and email campaigns to real purchases in GA4 explorations and Google Ads (when you link accounts).
- Your data, your tools — exports, audiences, and BigQuery stay in Google; ArtInStack does not resell or aggregate your GA4 reports.
Prerequisites
- A GA4 property in your Google account (you need this even on the GTM path—GTM forwards events into GA4).
- Either a web data stream Measurement ID (
G-…) or a GTM web container ID (GTM-…)—pick one path from the decision tree above. - Dashboard → Settings → Integrations → Analytics
- For EU/California visitors: enable the cookie banner under Settings → Privacy & security → Privacy — see Privacy & security overview.
Step 1 — Add your ID in ArtInStack
Open Settings → Integrations → Analytics.
| Field | Where to find it in Google | Use when |
|---|---|---|
| Google Analytics 4 Measurement ID | GA4 → Admin → Data streams → your web stream → Measurement ID (G-XXXXXXXXXX) | Simple & fast path — page views only |
| Google Tag Manager container ID | GTM → Admin → Container → Container ID (GTM-XXXXXXX) | Advanced control path — funnels, ads, Meta Pixel, revenue |
Validation: IDs must match Google’s format. Invalid values are blocked before save.
If both fields are filled: ArtInStack loads GTM only and ignores the Measurement ID field. The dashboard shows a GTM is active notice. Avoid duplicating GA4 inside GTM (for example a Google Tag plus a second GA4 config tag for the same stream).
Custom domain: the same IDs apply on your subdomain and custom domain. Add every public hostname in GA4 Data stream settings in Google.
Click Save in the Settings header after editing.
Step 2 — Cookie consent (recommended)
When Show cookie consent popup is enabled, analytics scripts load only after a visitor accepts Analytics cookies. ArtInStack uses Google Consent Mode defaults until acceptance.
If analytics IDs are saved but the banner is off, the dashboard shows a reminder—enable it under Settings → Privacy & security → Privacy when you serve EU/California traffic. Details: Privacy & security overview.
Editor preview: analytics does not load on URLs with ?preview=true.
Step 3 — What ArtInStack sends automatically
On your public storefront (not the dashboard), ArtInStack pushes GA4-style ecommerce objects to the browser data layer:
| Event | When it fires |
|---|---|
page_view | Automatic once GA/GTM loads |
view_item | Visitor opens a product detail page or a photo/portfolio item with a price |
add_to_cart | Item successfully added to the cart (see Cart and checkout) |
purchase | Stripe checkout succeeds in the cart (includes transaction_id and order total; line items may be minimal) |
Example shape (your GTM reads the event name and ecommerce object):
event: view_item
ecommerce: { currency, value, items: [{ item_id, item_name, price, quantity }] }
event: add_to_cart
ecommerce: { currency, value, items: [...] }
event: purchase
ecommerce: { transaction_id, currency, value, items?: [...] }
GA4 Measurement ID only: page views reach GA4 through gtag. The three ecommerce events above sit in the data layer—they will not appear in GA4 until you add GTM (Step 4) or equivalent tag wiring.
Step 4 — Wire GTM in your Google account (Advanced control path)
Skip this section if you chose GA4 only and only need page-view traffic for now.
Tag and trigger setup happens entirely in your GTM workspace at tagmanager.google.com—not in the ArtInStack dashboard.
Think of it as two layers: ArtInStack broadcasts named events; GTM listens and forwards them to GA4.
4a — Create Custom Event triggers (one per action)
Repeat for each event name. Names must be exact—lowercase, underscores, no spaces.
- GTM left sidebar → Triggers → New.
- Trigger Configuration → Custom Event.
- Fill in:
| Field | Product view | Add to cart | Purchase |
|---|---|---|---|
| Event name | view_item | add_to_cart | purchase |
| Use regex matching | Unchecked | Unchecked | Unchecked |
| This trigger fires on | All Custom Events | All Custom Events | All Custom Events |
- Name the trigger (for example
CE - view_item) → Save.
Create three triggers total—one per row.
4b — Create GA4 Event tags (one per action)
GTM needs one GA4 Event tag per event. A single tag for view_item alone will not report cart or purchase activity.
Repeat New tag three times:
| Tag | Tag type | Event name | Trigger | Suggested tag name |
|---|---|---|---|---|
| 1 | Google Analytics: GA4 Event | view_item | CE - view_item | GA4 Event - View Item |
| 2 | Google Analytics: GA4 Event | add_to_cart | CE - add_to_cart | GA4 Event - Add to Cart |
| 3 | Google Analytics: GA4 Event | purchase | CE - purchase | GA4 Event - Purchase |
For each tag:
- Tags → New → Tag Configuration → Google Analytics: GA4 Event.
- Measurement ID — enter your
G-…stream ID, or choose your existing Google Tag / Configuration tag from the dropdown (recommended for tags 2 and 3). - Event Name — same string as the trigger (
view_item,add_to_cart, orpurchase). - Send Ecommerce data — turn On and set the source to Data layer (see callout below).
- Triggering — select the matching Custom Event trigger from 4a.
- Save.
Publish the GTM container when finished (Submit → Publish).
Critical: turn on ecommerce data from the data layer
By default, GTM may send only the event name (
view_item,purchase, etc.)—not prices, currency, line items, or transaction IDs. Your GA4 monetization reports will show activity but $0.00 revenue until you authorize the payload.For each ecommerce GA4 Event tag (
view_item,add_to_cart,purchase):
- Open the tag in GTM.
- Expand More Settings → Ecommerce.
- Check Send Ecommerce data.
- Set Data Source to Data Layer.
This lets financial reporting mirror your raw traffic—order values, product revenue, and conversion totals populate correctly in GA4.
How to verify it's working
The test run: In GTM, click Preview (top right), enter your storefront URL (subdomain, custom domain, and complete a quick walk-through—view a priced photo or product, add to cart, and run a test checkout if Stripe is in test mode.
The confirmation: In the Tag Assistant timeline (the debugging tab GTM opens), you should see:
view_itemwhen viewing a product or priced image blockadd_to_cartafter a successful cart addpurchasewith a green checkmark on your GA4 Event tag once payment clears
Select each event in the left timeline and confirm Tags Fired for the matching GA4 Event tag.
Optional: GA4 Realtime → confirm activity under your property (use a dev property or separate stream when testing on localhost so production data stays clean).
Quick reference
| Question | Answer |
|---|---|
| Simple stats vs full funnel? | GA4 only = page views; GTM only = funnel + revenue (after Step 4) |
Where do I paste G-… or GTM-…? | Settings → Integrations → Analytics |
| Where do I create triggers and tags? | Your GTM container at tagmanager.google.com |
| Platform traffic vs my GA4? | Dashboard analytics overview |
| Cookie banner | Privacy & security overview |
| Checkout flow context | Cart and checkout |
Troubleshooting common setup issues
My sales events show up, but revenue reads $0.00?
You likely skipped the data layer mapping. Re-open each ecommerce tag in GTM, expand More Settings → Ecommerce, check Send Ecommerce data, and set Data Source to Data Layer. Publish the container again.
I filled out both the GA4 and GTM boxes. Will it double-count visits?
No. The moment you save a GTM container ID, ArtInStack uses GTM as the primary source and safely bypasses the direct GA4 loader—optimizing page speed and avoiding duplicate injection. Keep your Measurement ID inside GTM tags only; do not add a second standalone GA4 config tag for the same stream.
Events never appear in GA4, but GTM Preview looks fine
Confirm you Published the GTM container after editing tags. Allow a few minutes, then check GA4 Realtime or standard reports—not only Tag Assistant.
Nothing loads after I save my ID
If Show cookie consent popup is on, analytics scripts load only after the visitor clicks Accept on the cookie banner. Test in a private window after accepting cookies.
You're done when
- You chose GA4 only or GTM only and saved a valid ID under Integrations → Analytics.
- With cookie banner on: after Accept, the browser loads
googletagmanager.com(Network tab). - GTM path: Tag Assistant shows
view_item,add_to_cart, andpurchasewith GA4 tags fired; ecommerce tags have Send Ecommerce data → Data Layer. - GA4 reports reflect traffic (and revenue on the GTM path) after publish.
