Skip to content
Marketer configuring Google Tag Manager on a laptop

Google Tag Manager Setup for Non-Developers

· by Digitelia · 4 min read

Google Tag Manager (GTM) sits in an awkward zone for many marketers. It’s not pure marketing — it deals with code snippets and triggers. But it’s not pure dev work — most of what marketers need can be done without writing a single line of JavaScript.

This guide walks a non-developer through GTM setup from scratch: account creation, container installation, the most common tag setups (GA4, Meta Pixel, conversion tracking, button clicks), and the diagnostic flow when something isn’t firing.

By the end, you’ll be able to manage 80% of marketing-tag changes without touching your dev team.

Marketer configuring tags on a laptop

Why GTM matters

Before GTM, every marketing tag (GA4, Meta Pixel, LinkedIn Insight, Hotjar, conversion tracking) was a separate code snippet hardcoded into your website. Every change required a developer. Every new tag meant a deployment.

GTM consolidates all of this into one container. You install the container once. After that, you add, change, and remove tags through GTM’s web interface — no code deploy needed.

The benefits compound:

  • Marketers can move fast without dev dependencies.
  • Tags can be conditional (fire only on specific pages, after certain events).
  • Easy to disable/test before production.
  • Centralized audit log of who changed what.
  • One container loads many tags more efficiently than many separate scripts.

Step 1: Create the GTM account and container

Go to tagmanager.google.com. Sign in with the Google account that will own your marketing data long-term (Google Workspace account, not personal Gmail).

Account setup:

  • Account name: your company name.
  • Country: where the business is.
  • Container name: your website URL (e.g., “digitelia.co”).
  • Target platform: Web (most common — also options for iOS, Android, AMP, Server).

After creating, you’ll see two code snippets — the container code. Save these; you’ll need them for installation.

Step 2: Install the container on your site

Two code snippets:

Snippet 1 (head): paste in the <head> of every page, as high as possible.

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->

Snippet 2 (body): paste immediately after the opening <body> tag.

<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

Where to actually paste them depends on your platform:

  • WordPress: use the official “Site Kit by Google” or the “GTM4WP” plugin (both add containers without theme editing).
  • Shopify: Settings → Customer events → Custom pixel, OR theme.liquid in the head/body. Newer Shopify stores can use the Customer Events API.
  • Webflow: Project settings → Custom code → Head/Body code.
  • Astro/Next.js/Nuxt: add to your root layout component. For Astro, paste into src/layouts/Base.astro in the appropriate locations.
  • Custom site: edit your header.php / layout.tsx / equivalent.

Step 3: Verify the install

Two ways:

1. GTM Preview mode. Inside GTM, click “Preview” (top right). It opens a connected browser window. Visit your site there. You’ll see the Tag Assistant overlay showing which tags fire. If GTM is installed, you’ll see “Container Loaded” events.

2. Tag Assistant Companion (Chrome extension). Install the extension. Visit your site in any tab. Click the extension icon. If GTM is installed, it shows your container ID. Indispensable for debugging.

If verification fails, common causes:

  • Snippets pasted in the wrong place (in the body of the page rather than the document head)
  • Both snippets pasted but with different container IDs (must match)
  • Browser ad blocker stripping the container — test in incognito with no extensions

Step 4: Understand the GTM concepts

Three core concepts:

Tag: the code that does something — sends a pageview to GA4, fires a Meta Pixel event, loads a chat widget.

Trigger: the condition under which the tag fires — “on every page”, “when a specific button is clicked”, “when a form is submitted”.

Variable: dynamic data — the current page URL, a click element’s text, the value of a purchase. Variables feed both tag configuration and trigger conditions.

Every setup combines these three. “When the contact form is submitted (trigger), fire a GA4 event with the form name (tag using a variable).”

Step 5: Set up your first tag — GA4

This is the most common GTM tag.

In GTM:

  • Tags → New → Tag Configuration → “Google tag”
  • Tag ID: paste your GA4 Measurement ID (G-XXXXXXXXXX)
  • Configuration parameters: leave default for now
  • Triggering → Choose trigger → “All Pages”
  • Name the tag: “GA4 - Config”
  • Save.

This single tag installs GA4 on every page. No need to also add the GA4 snippet to your site — GTM handles it.

To verify: GTM Preview → visit your site → confirm “GA4 - Config” fires on every page load.

Tag manager dashboard configuration

Step 6: Track a button click

Many marketers want to know when users click important buttons (CTAs, signup, contact).

In GTM:

1. Enable click variables. Variables → Built-In Variables → Configure → check all “Click” variables (Click Element, Click ID, Click Classes, Click Text, Click URL).

2. Create a trigger. Triggers → New → “Click - All Elements” → Some clicks → fire when Click Text contains “Get a quote” (or your CTA text). Save as “Click - CTA Get Quote”.

3. Create the tag. Tags → New → “Google Analytics: GA4 event” → Configuration tag: GA4 - Config (the one you created earlier) → Event name: cta_click → Event parameters: cta_text = {{Click Text}}. Trigger: Click - CTA Get Quote. Save.

4. Publish. Submit → Publish.

Test in Preview mode: click the CTA button → verify the tag fires and the event appears in GA4 DebugView.

Step 7: Track form submissions

For most forms:

1. Trigger. Triggers → New → “Form Submission” → All Forms. (Optional: narrow to specific forms by form ID, form classes, or page URL.)

2. Tag. Tags → New → GA4 event → Event name: generate_lead (or form_submit). Add parameters as needed (form_name, form_id from Click variables). Trigger: the form submission trigger.

Some forms (single-page apps, custom JavaScript validation) don’t trigger GTM’s default form submission. Workarounds:

  • Use the GTM “Element Visibility” trigger — fire when a “Thank you” message appears.
  • Have the developer push a custom event to the dataLayer when the form submits, then use a “Custom Event” trigger.

Step 8: Set up Meta Pixel

Meta Ads requires the Meta Pixel for conversion tracking and audience building.

1. Get your Pixel ID from Meta Ads Manager → Events Manager → Data Sources.

2. Use the official Meta Pixel template in GTM. Tags → New → Discover more tag types in the Community Template Gallery → search “Meta Pixel” → install.

3. Configure. Pixel ID: paste yours. Event type: PageView (for the base pixel). Trigger: All Pages.

4. Set up conversion events by creating additional tags with the same template, event type “Lead” or “Purchase” etc., triggered by your conversion actions.

For maximum accuracy, also implement Conversions API (server-side) — this is dev work but recovers 10-20% of conversions lost to client-side blocking.

Step 9: Set up LinkedIn Insight Tag

For LinkedIn Ads conversion tracking and remarketing.

1. Get your Partner ID from LinkedIn Campaign Manager → Account assets → Insight Tag.

2. Use the LinkedIn Insight Tag template in GTM (community gallery).

3. Trigger: All Pages.

4. Set up conversion events by creating additional tags with conversion event IDs.

Step 10: Publish and test

The workflow:

  1. Make changes in GTM workspace.
  2. Test in Preview mode (always — never publish untested).
  3. Verify each tag fires when expected and not when it shouldn’t.
  4. Click Submit → Publish.
  5. Add a version description so you can audit changes later.

Versions are GTM’s git-equivalent. You can roll back to any previous version if something breaks.

Common marketer-friendly tags

Beyond GA4, Meta, and LinkedIn, here are tags many marketers want to set up:

1. Hotjar / Microsoft Clarity — heatmap and session recording. Drop in the snippet, fire on all pages.

2. HubSpot tracking code — for CRM integration. All pages.

3. Google Ads conversion tracking — though typically you import conversions from GA4 instead.

4. Survey or chat widgets (Intercom, Drift, Zendesk Chat) — load conditionally (e.g., only on pricing pages or only for logged-in users).

5. A/B testing tools (Optimizely, VWO, etc.) — base snippet on all pages.

6. Custom event tracking for video plays, scroll depth, time on page, file downloads, outbound link clicks — many handled by GA4’s Enhanced Measurement, but GTM offers more control.

Common GTM mistakes

1. Not using Preview mode before publishing. A broken tag in production can corrupt analytics for weeks.

2. Duplicating tags between GTM and hardcoded scripts. If you have GA4 hardcoded in your theme AND in GTM, you’ll double-count every pageview. Pick one (GTM is the better choice).

3. Overusing the “All Pages” trigger. Sometimes you want a tag to fire only on certain pages. Use trigger conditions (“Page URL contains /pricing/”) for precision.

4. Not naming tags consistently. “Tag 1”, “GA4 Test”, “untitled tag” — within 6 months, no one knows what they do. Use a convention like “[Service] - [Event Type] - [Page or Trigger]” e.g., “GA4 - Lead Form - Contact Page”.

5. Editing live without workspaces. GTM workspaces let multiple people edit changes that don’t go live until published. Use them. Don’t push edits to production from the main workspace.

6. Ignoring the dataLayer. Custom dataLayer events are how you communicate from your site (or a dev’s code) into GTM. Learning this unlocks most of the “advanced” GTM use cases.

Server-side GTM (worth knowing about)

Server-side GTM runs tags from your server, not the user’s browser. Benefits:

  • Bypasses ad blockers (10-20% conversion recovery)
  • Better data privacy (you control what gets sent to vendors)
  • Smaller client-side bundles (faster page load)

Setup is more complex — requires hosting a GTM container on your own infrastructure (App Engine, Cloud Run, etc.) — but for serious marketing operations in 2026 it’s increasingly standard. Plan 1-2 weeks of dev time for initial setup.

A 14-day GTM onboarding plan

Day 1: Create GTM account, install container, verify.

Day 2-3: Set up GA4 config tag, verify pageviews flowing.

Day 4-5: Set up conversion tracking — form submissions, CTA clicks. Test thoroughly in Preview.

Day 6-7: Set up Meta Pixel and LinkedIn Insight Tag. Verify against ad platform Event Manager.

Day 8-10: Custom events — scroll depth, video plays, downloads, anything specific to your business.

Day 11-12: Set up A/B testing tool, heatmaps, chat (whatever marketing software you use).

Day 13: Documentation. Write a one-pager listing every tag, what it does, and what triggers it.

Day 14: Train one more team member so you’re not the only person who knows how the tags work.

By day 14, you have a fully functional GTM setup with marketer-managed tags and a backup operator.

Frequently asked questions

Do I need GTM if I’m only running GA4? Not strictly — you can install GA4 directly. But the moment you want to track more than basic pageviews (button clicks, conversions, custom events), GTM saves enormous time.

Will GTM slow down my site? Marginally. One GTM container loads dozens of tags more efficiently than dozens of separate scripts. Net performance impact: usually positive vs. installing tags directly.

Can I use GTM with a single-page application (SPA)? Yes, but you’ll need to push custom “virtual pageview” events from your SPA into the dataLayer on route changes. Most modern frameworks have GTM integrations for this.

How many tags is too many? Diminishing returns past 30-40 tags. Each adds load time and complexity. Audit yearly and remove unused tags.

Should I share GTM access with my agency? Yes, with appropriate permissions (Publish for trusted partners, Edit for less). Keep ownership of the GTM account on your team email, not theirs.


GTM is one of the highest-leverage tools a non-developer marketer can master. Two days of learning saves months of dev tickets over the next year. If you’ve been blocked by “we need engineering to deploy the tag,” GTM is your unlock.

Tagged

#google-tag-manager#gtm#analytics-setup#conversion-tracking#tutorial#ga4#non-developer