How to set up user onboarding via Google Tag Manager without a developer
A complete first-session flow via Google Tag Manager — welcome, guided first action, getting-started list — built from three Clew items that follow the user through the app instead of one long tour on page load.
- Time
- ● 40 minutes
- Price
- Tours free · rest 14-day trial
- Who does it
- Anyone who can publish in GTM
Example: user onboarding via Google Tag Manager
A project-management SaaS without developer time for onboarding. Through GTM: a welcome modal on /app (“Create your first project in 2 minutes”), a tour on /app/projects, and a setup checklist on the second visit.
The product tour part is free on the Free plan (up to 3 published). The Modal, Checklist and audience rules are part of Pro: every new account gets a 14-day trial with everything included, no card. When the trial ends nothing is deleted and published items keep showing.
How to set up user onboarding via Google Tag Manager, step by step
- Step 01
Copy your Clew snippet
Create a free account (or sign in), add your site and open Admin → Overview. Click the line in the “No signal from the widget yet.” card to copy it — it carries your real site key instead of the placeholder.
<!-- Clew: replace PASTE_YOUR_SITE_KEY with the site key from Admin > Overview --> <script src="https://tryclew.io/widget/PASTE_YOUR_SITE_KEY.js" async></script>

Step 1 · schematic illustration - Step 02
Create a Custom HTML tag in GTM
In tagmanager.google.com open your container, Tags → New → Tag Configuration → Custom HTML, and paste the Clew line. Name the tag
Clew widget.
Step 2 · schematic illustration - Step 03
Fire it on All Pages
In Triggering choose All Pages and save. Load it everywhere: which page shows the user onboarding is decided in Clew, not in GTM.

Step 3 · schematic illustration - Step 04
Preview, then Submit and Publish
Check in Preview that
Clew widgetis under Tags Fired, then Submit → Publish. Nothing reaches the live site before you publish.
Step 4 · schematic illustration - Step 05
Create the three onboarding items
In Clew create three items in Flows: a Modal window with one welcome sentence and a link to the key screen; a Step-by-step tooltips tour of 3–4 steps on that screen, built with Edit on your site and Pick element; and a Onboarding checklist with the remaining setup tasks.

Step 5 · schematic illustration - Step 06
Choose where, when and for whom it shows
In the same editor, set Where to show (page URL), When to show, Audience targeting and Frequency. These are the settings of the example above:
Setting Value Welcome popup Format Modal window Where to show (page URL) Exact path /appWhen to show Right on page load Audience targeting No rules — everyone who opens the page Frequency Once per visitor Product tour Format Step-by-step tooltips Where to show (page URL) Section by prefix /app/projectsWhen to show Right on page load Audience targeting No rules — everyone who opens the page Frequency Once per visitor Checklist Format Onboarding checklist Where to show (page URL) Section by prefix /appWhen to show On the Nth visit: 2 Audience targeting No rules — everyone who opens the page Frequency Once per visitor 
Step 6 · schematic illustration - Step 07
Publish and check it on the live site
Set Status to Published and save. Open the page in a private window — Clew remembers who has already seen a “once” item, so your usual browser may skip it. Views, completions and drop-offs appear in the tour stats.

Step 7 · schematic illustration
Pitfalls: user onboarding via Google Tag Manager
Don’t use a History Change trigger
The widget follows single-page navigation on its own. A second trigger on History Change only loads the script again for nothing.
Pass user properties with a second tag
If your data layer has values like plan, create a Data Layer Variable and a second Custom HTML tag that calls Clew.identify() with it (see the example). Fire it on the event that carries the value, after the Clew tag.
Without user data, target by pages and visits
A tag manager install knows nothing about accounts. Use URLs that only new users reach (the first-run screen, ?welcome=1 after sign-up with URL contains) and On the Nth visit for the checklist.
Don’t start everything on one page
If the popup, the tour and the checklist all match the same URL, only one starts and the others wait. Give each item its own page or trigger, as in the table above.
Questions and answers
How do I keep old users out of the welcome?
Pass a sign-up date or onboarded from the data layer and add a rule, or use a first-run URL only new accounts get.
Does GTM slow the user onboarding down?
The widget loads a moment after the container. Only an item with Right on page load on the very first page view might appear a fraction of a second later than with a direct install.
Which parts are free?
Tours are free on the Free plan. The welcome popup, the checklist and audience rules are in Pro; the 14-day trial includes them all, no card.
How long does it take?
About forty minutes for a first version: ten for the popup, twenty for the tour, ten for the checklist. Then improve by the funnel.
What else you can add via Google Tag Manager
- How to add a popup to your website with Google Tag Manager without a developer
- How to create a product tour via Google Tag Manager without a developer
- How to add an onboarding checklist via Google Tag Manager without a developer
- How to add a tooltip via Google Tag Manager without a developer
- How to create an interactive product guide via Google Tag Manager without a developer
- How to add a paywall upgrade prompt via Google Tag Manager without a developer
- How to add a rating popup to your website with Google Tag Manager without a developer
User onboarding on other platforms
- LovableHow to set up user onboarding in a Lovable app without a developer
- Bolt.newHow to set up user onboarding in a Bolt.new app without a developer
- v0How to set up user onboarding in a v0 app without a developer
- ReplitHow to set up user onboarding in a Replit app without a developer
- CursorHow to set up user onboarding in an app built with Cursor without a developer
- Claude CodeHow to set up user onboarding with Claude Code without a developer
- ChatGPT CodexHow to set up user onboarding with ChatGPT Codex without a developer
- Qwen CodeHow to set up user onboarding with Qwen Code without a developer