> For the complete documentation index, see [llms.txt](https://docs.spara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spara.com/integrations/google-analytics-4-ga4-integration.md).

# Google Analytics 4 (GA4) Integration

Spara fires conversion events into Google Analytics 4 so you can measure how much pipeline and revenue your AI conversations are driving. Once events are flowing, you can break down Spara conversions by traffic source, build funnel views, and pipe the same events into Google Ads or other ad platforms for smarter bidding.

Spara emits four events:

| Event name (in GA4 / GTM)  | When it fires                                                 |
| -------------------------- | ------------------------------------------------------------- |
| `lead_engaged_via_spara`   | A visitor sends their first message in a Spara conversation   |
| `email_captured_via_spara` | Spara captures a lead's email address (form, qualifier, etc.) |
| `calendar_shown_via_spara` | The booking calendar is displayed to the lead                 |
| `demo_scheduled_via_spara` | The lead books a meeting inside Spara                         |

Use these exact names in your GTM tags, GA4 conversion mappings, and ad platform configurations.

## Choosing how to fire events

There are two ways to send Spara events to GA4. Most customers should pick one based on whether they need the events outside of GA4.

* **Spara native integration** — Spara sends events directly to your GA4 property. Quick to set up, but events only land in GA4. Best when GA4 is your only destination.
* **JavaScript events via Google Tag Manager** — Spara pushes events into the page's `dataLayer`, and you wire them up in GTM. More setup, but the same event can fan out to GA4, Google Ads, Meta, LinkedIn, and any other tag you configure. Best for marketing teams running paid campaigns across multiple platforms — for example, `demo_scheduled_via_spara` is commonly used as the primary conversion event across Google Ads, Meta, LinkedIn, and Microsoft Ads.

The rest of this page covers both setup paths, then how to actually analyze the data once it's flowing.

## Option 1: Native integration

### Step 1: Authentication

{% hint style="info" %}
You must be a Manager- or Integrator-level user to manage third-party integrations.
{% endhint %}

Navigate to [**Settings > Integrations**](https://app.spara.co/organization/integrations) and click **Authorize** on the Google Analytics card to start the Google OAuth flow.

<figure><img src="/files/6jgeNSpe8QLgwsbYX6hZ" alt=""><figcaption></figcaption></figure>

After granting access, Google may show an unverified-app warning. You can either wait for Google to verify the app (this can take a few days) or bypass it by selecting **Advanced > Go to Spara** to continue.

<figure><img src="/files/sgdVoGGH3SASnvfEUxSv" alt="" width="375"><figcaption></figcaption></figure>

### Step 2: Configure Google Analytics

Select the GA4 property to receive Spara's conversion events and choose which of the four events to send.

<figure><img src="/files/i8Zp6cmEBQnooSsbdDEP" alt=""><figcaption></figcaption></figure>

That's it — Spara starts sending the selected events to your property on the next conversation.

## Option 2: Google Tag Manager

This path lets you forward Spara events to GA4 and any other tag in your container — Google Ads, Meta Pixel, LinkedIn Insight Tag, and so on.

### Step 1: Get your GA4 Measurement ID

1. Log in to [analytics.google.com](https://analytics.google.com).
2. Click **Admin** (gear icon, bottom-left).
3. Navigate to **Data collection and modification > Data Streams**.
4. Open your website data stream and copy the **Measurement ID** (starts with `G-`).

### Step 2: Create the GA4 tag in GTM

1. Log in to [tagmanager.google.com](https://tagmanager.google.com) and open your workspace.
2. Click **Tags > New**.
3. Name the tag (e.g., `GA4 - Spara Event`).
4. Set **Tag Configuration > Google Analytics: GA4 Event**.
5. Paste your **Measurement ID** and set an **Event Name** (this is the name that appears in your GA4 reports — e.g., `spara_conversion`).

### Step 3: Configure the trigger

1. Click the **Triggering** box, then **+** to create a new trigger.
2. Name it (e.g., `Trigger - Spara Demo Booked`).
3. Set **Trigger Configuration > Custom Event**.
4. Set **Event Name** to the exact Spara event you want to track — `lead_engaged_via_spara`, `email_captured_via_spara`, `calendar_shown_via_spara`, or `demo_scheduled_via_spara`. The name must match the dataLayer exactly.
5. **Save** the trigger.

To track multiple Spara events, repeat with a separate tag and trigger for each event name.

### Step 4: Publish

Save the tag, submit your container, and publish a new workspace version.

### Step 5: Verify with Preview mode

Before assuming everything works, test with GTM's **Preview** mode:

1. In your workspace, click **Preview** (top-right). Enter your site URL and click **Connect** — a new window opens with a "Tag Assistant Connected" badge.
2. In that window, perform the action Spara should fire for (e.g., book a demo through Spara).
3. Back in the Tag Assistant tab, look for your event name in the left-hand event list. Click it.
4. Under **Tags Fired**, confirm your GA4 - Spara Event tag is listed. If it's under **Tags Not Fired**, click in to see which trigger condition failed.

## Analyzing Spara conversions in GA4

Once events are flowing, mark `demo_scheduled_via_spara` as a primary conversion event in GA4 — a Spara-booked demo is the direct equivalent of a form-fill demo request and should be treated the same way in your reporting.

A few views that are worth knowing about:

* **Acquisition reports** — which traffic sources (paid, organic, social) drive Spara conversions.
* **Explore > Funnel exploration** — multi-step paths like "visited pricing → engaged with Spara → booked demo."
* **Explore > Segment overlap** — see which leads converted through Spara vs. through your form, and where they overlap.
* **Google Ads integration** — feed Spara conversion events back into Google Ads for smarter bidding.

{% hint style="info" %}
Keep your existing form-submit event firing alongside Spara events. Spara doesn't replace your form — and `lead_engaged_via_spara` often assists form fills that happen later in the session, after the lead's questions are answered.
{% endhint %}

### Building a funnel view

To see "did A then B at any point in the session" (not strictly adjacent steps), use a Funnel exploration:

1. Go to **Analytics > Explore > Blank exploration** and switch the **Technique** to **Funnel exploration**.
2. Click the ✏️ icon next to **STEPS** to open the funnel editor.
3. **Step 1**: name it `Session start`, add condition → event `session_start`. Leave "directly followed by" **off** so other events can occur in between.
4. **Step 2**: name it `Spara engaged`, add condition → event `lead_engaged_via_spara`.
5. **Step 3**: name it `Demo booked`, add condition → event `demo_scheduled_via_spara`.
6. Click **Apply**.

### Building a segment overlap

A segment overlap reveals whether the same users trigger two different events — useful for questions like "do leads who engage with Spara also book demos through our form?"

1. Go to **Analytics > Explore > Blank exploration** and switch the **Technique** to **Segment overlap**.
2. In the **Segments** panel, click **+ > New user segment**. Name it (e.g., "Triggered Event A"), set condition → **Event name exactly matches** `<event_a_name>`, save.
3. Repeat for the second event.
4. Drag both segments into the **Segments** slot of the **Tab settings** panel.
5. Optionally add a **Breakdown dimension**, set a date range — GA4 renders the Venn diagram and overlap table.

## Ad platform tracking: who owns what

Customers running paid ads almost always ask what Spara handles vs. what they need to wire up in GTM. Use this split.

**Your responsibility (in GTM and on your site):**

* **UTM parameters** — set these in your ad campaign URLs. Spara reads whatever is on the URL when a conversation starts.
* **Conversion pixels** — the Google Ads tag, Meta Pixel, LinkedIn Insight Tag, and others live in your GTM container and fire on the same Spara events. Map `demo_scheduled_via_spara` (and any other Spara events you care about) to each platform's conversion action.
* **Click IDs** — `gclid` (Google), `fbclid` (Meta), `li_fat_id` (LinkedIn), and `msclkid` (Microsoft) need to land on the page when Spara loads. Keep auto-tagging on and avoid redirects that strip them.
* **Cookie consent** — if you use a consent management platform (OneTrust, Cookiebot, etc.), you're responsible for the consent gate that allows Spara, GA4, and ad pixels to fire.

**Spara's responsibility:**

* Captures UTMs and click IDs present on the page when a conversation starts, stores them on the lead record, and includes them in lead exports.
* Fires the four events into GA4 (via the native integration) or into the `dataLayer` for GTM to consume.
* Passes lead data and attribution to your CRM.

## FAQ

### Which integration option should I pick?

If GA4 is your only destination, use the native integration — it takes minutes. If you're running paid ads on Google, Meta, LinkedIn, or any other platform that needs the same conversion signal, use GTM so a single event fans out to every tag in your container.

### Can I use both at once?

You can, but it's not recommended — you risk double-counting conversions. Pick the path that matches your reporting setup.

### Does Spara capture UTM parameters?

Yes. Spara captures UTMs and click IDs (`gclid`, `fbclid`, `li_fat_id`, `msclkid`) present on the page when a conversation starts, stores them on the lead record, and includes them in exports and CRM syncs.

### Which event should I mark as my primary conversion?

`demo_scheduled_via_spara` — it's the direct equivalent of a demo-request form submit and should be treated the same way in GA4 and downstream ad platforms.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.spara.com/integrations/google-analytics-4-ga4-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
