Help
Integrations

Track ShowPilot conversions in Google Tag Manager

Send agent milestones like booked meetings and captured leads to your own analytics and ad platforms.

Your agent's results belong in the same reports as the rest of your marketing. ShowPilot sends its milestones, like a booked meeting or a captured lead, to your Google Tag Manager container, so you can count them as conversions, build retargeting audiences and score leads with the tools you already run.

Without this, your analytics can't see what happens inside the agent, because ShowPilot runs on top of your website. A visitor books a meeting, and your funnel shows a page view followed by a meeting on the calendar with nothing in between.

This article covers the events, how to set up a trigger, and how to check the events fire.

How does ShowPilot send events to Tag Manager?

The ShowPilot widget announces its milestones to your page's data layer. That's the standard place Google Tag Manager listens. Your GTM container picks them up like any other event: fire a GA4 event, an Ads conversion, a LinkedIn pixel, anything your container can do.

There's nothing to install and nothing to configure in ShowPilot. If the widget is on your page, the events are already firing. You add triggers in your own GTM container.

Which events does ShowPilot send?

Event nameWhen it firesData included
showpilot_agent_shownThe agent loads and is visible on the page — your impression denominator for engagement-rate mathshowpilot.agent — the agent's name
showpilot_conversation_startedA visitor sends their first message or starts talking to the agentshowpilot.agent
showpilot_content_viewedContent opens in the widget — by the agent or by the visitorshowpilot.title, showpilot.type, showpilot.url, showpilot.source — agent (the agent opened it) or visitor (they clicked a recommendation or playlist item)
showpilot_content_completedThe visitor finishes a piece of content (watches a video to the end, reads a doc through) — a strong lead-scoring signalshowpilot.title, showpilot.type
showpilot_voice_call_startedA visitor starts a voice conversation—
showpilot_lead_capturedA visitor submits their contact details to the agentNone. The details themselves are never included, so no personal data enters the data layer.
showpilot_meeting_bookedA visitor completes scheduling a meeting (confirmed booking, not just opening the scheduler)showpilot.provider — e.g. calendly

Each event is one dataLayer.push, shaped like:

{
  event: "showpilot_meeting_booked",
  showpilot: { provider: "calendly" }
}

These event names are a stable contract. New events may be added, but existing names and fields won't change or disappear.

How do you set up a trigger in GTM?

Example: count booked meetings as a GA4 conversion.

  1. In your GTM container, go to Triggers → New → Custom Event.
  2. Set Event name to showpilot_meeting_booked. Save it as something like ShowPilot – Meeting Booked.
  3. Go to Tags → New → Google Analytics: GA4 Event.
  4. Choose your GA4 configuration, set the event name (e.g. generate_lead or meeting_booked), and attach the trigger from step 2.
  5. Publish the container.

Repeat with the other event names for whichever milestones matter to you. Common setups:

  • showpilot_lead_captured and showpilot_meeting_booked as ad-platform conversions.
  • showpilot_conversation_started and showpilot_content_viewed as retargeting audiences.
  • showpilot_content_completed as a lead-scoring signal in your marketing automation.
  • Conversations ÷ showpilot_agent_shown as your agent engagement rate.

How do you read the event data in your tags?

To pass details (like which content was viewed) into your tags:

  1. Go to Variables → New → Data Layer Variable.
  2. Set the variable name using dot notation, e.g. showpilot.title, showpilot.agent or showpilot.provider.
  3. Reference the variable in your tag's fields like any other GTM variable.

A useful example: trigger on showpilot_content_viewed where showpilot.source equals visitor to count recommendation click-throughs separately from content the agent opened proactively.

Test it

Your setup is ready when the events show in GTM's debug panel and your triggers fire on them:

  1. In GTM, click Preview and enter a page where your ShowPilot agent is live.
  2. In the debug panel, start a conversation with the agent. showpilot_conversation_started appears in the event list on the left.
  3. Book a test meeting or open content to see the other events, and confirm your triggers fire.

You can also verify without GTM's preview: open your browser console on the page and type dataLayer.filter(e => e.event && e.event.startsWith('showpilot')) after interacting with the agent.

Troubleshooting

IssueWhat to check
No ShowPilot events appear in the debug panelCheck the agent is live on the page you entered, then interact with it. The first event fires when the agent loads and is visible.
An event appears but your tag doesn't fireCheck the trigger's Event name matches the event name exactly, then publish the container again.
showpilot_meeting_booked doesn't appearIt fires on a confirmed booking, not when the scheduler opens. Complete a test booking.

Frequently asked questions

Do I need to change anything in ShowPilot?

No. If the widget is on your page, the events are already firing. You only add triggers in your own GTM container.

Does ShowPilot put personal data in the data layer?

No. showpilot_lead_captured carries no data, so the visitor's contact details never enter the data layer.

What if the page has no Tag Manager?

The events are harmless. They sit in the data layer with no listener. Nothing loads, and nothing slows down.

Events go only to your own container, so your existing consent setup governs them. ShowPilot doesn't load any tags or send data to any tracker itself.

Can I use these events on pages ShowPilot hosts?

Yes. Shared experience links (pages ShowPilot hosts for you, like the ones you send in campaigns) can run your GTM container too. Turn it on in Settings → Tracking and enter your container ID. Your analytics and ad pixels then work on those pages like on any page you own, and the ShowPilot events above fire there as well. See Run Tag Manager on hosted pages.

On this page