# Add analytics to your Glide apps with PostHog 🆕

**URL:** <https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799>\
**Category:** Archived Announcements\
**Tags:** community-update, integration\
**Created:** [March 17, 2025, 8:30pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799 "2025-03-17T20:30:51Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![NoCodeAndy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nocodeandy/32/62530_2.png) [@NoCodeAndy](https://community.glideapps.com/u/NoCodeAndy)\
**Post date:** [March 17, 2025, 8:30pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/1 "2025-03-17T20:30:51Z")

</div>

[PostHog](https://posthog.com) is an all-in-one platform for product analytics, session recording, and feature flagging. It’s a great tool for understanding user behavior.

Our new PostHog integration lets you add PostHog to your Glide apps and send custom events via Actions. [Learn more about it in our Glide docs.](https://www.glideapps.com/docs/automation/integrations/posthog)

> **[PostHog | Glide Docs](https://www.glideapps.com/docs/automation/integrations/posthog)**
>
> Track user behavior and product analytics.

Have questions about the PostHog integration? Suggestions?

Drop your thoughts below.

Thanks you! 🙏

_Related links:_

- [Why use PostHog?](https://posthog.com/why)
- [PostHog documentation & guides](https://posthog.com/docs)
- [PostHog community for inspiration and help](https://posthog.com/community)

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/1/9132278ba31fd787076e14d71eb849d8a2c23ed2.jpeg "PostHog Demo - Product Analytics, Session Replays, Feature Flags, A/B Testing, User Surveys + More") ](https://www.youtube.com/watch?v=2jQco8hEvTI)

---

<div class="post-metadata">

**Author:** ![Piou](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/piou/32/82726_2.png) [@Piou](https://community.glideapps.com/u/Piou)\
**Post date:** [March 18, 2025, 9:42am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/3 "2025-03-18T09:42:14Z")

</div>

A MA ZING ! 😃

I implemented PostHog on my app this morning, and after just a few user session recordings, I was able to identify the issues my users were facing — all in less than half a day — and make some quick fixes.

Huge thanks for this implementation! It’s really going to help me make my app even more powerful by truly stepping into my users’ shoes.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 19, 2025, 12:32am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/4 "2025-03-19T00:32:31Z")

</div>

Can you share more on what the issue was?

I’m interested, but not sure what issues can be identified by PostHog and not by other Glide functions, say a log of a workflow (since my issues usually tie to workflows only).

---

<div class="post-metadata">

**Author:** ![Aurelien\_M](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/aurelien_m/32/48214_2.png) [@Aurelien\_M](https://community.glideapps.com/u/Aurelien_M)\
**Post date:** [March 27, 2025, 10:28am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/5 "2025-03-27T10:28:14Z")

</div>

Hello, super cool announcement! I can’t see however, Glide listed in the integrations for session replays on PostHog. How do you install it?  
And session replay is not listed in the features in the integrations screen on Glide. Is it doable? Thanks!

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 27, 2025, 10:36am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/6 "2025-03-27T10:36:40Z")

</div>

I would be interested in knowing how to clean up the URLs. It is a challenge working with these long URLs.

 ![Screenshot 2025-03-27 at 11.35.01](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/f/5f9d1c6b0bdabfa525b494b9fac92663844626b3.png)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 27, 2025, 2:25pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/7 "2025-03-27T14:25:20Z")

</div>

The first one after the dl is straightforward, it’s your tab’s slug.

Then /r/ implies opening a screen with the part right after that being its rowID.

Anything after /s/ likely is a component ID. I thought it would be included when you copy a component and try to read that through the clipboard, but it isn’t there.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 27, 2025, 2:31pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/8 "2025-03-27T14:31:35Z")

</div>

> [@ThinhDinh](#):
>
> Then /r/ implies opening a screen with the part right after that being its rowID.

What do you mean?

> [@ThinhDinh](#):
>
> Anything after /s/ likely is a component ID

I don’t really understand this either. The path analysis in PostHog shows visitor paths I believe. I am assuming, perhaps wrongly, that each one of these URLs is that of a screen. In fact it’s very easy to check.

I believe we are seeing these unreadable URLs because slugs can only be defined at the tab level. It would be nice to be able to define slugs on all screens.

---

<div class="post-metadata">

**Author:** ![burningmikey](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/burningmikey/32/49706_2.png) [@burningmikey](https://community.glideapps.com/u/burningmikey)\
**Post date:** [March 27, 2025, 8:30pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/9 "2025-03-27T20:30:21Z")

</div>

The screen recordings help understand the quality of the design, its inefficiencies, bugs etc. Very powerful.

The best Glide integration for me personally is Google Tag Manager, as it allows to handle many others (Facebook pixel, Google analytics, postHog and many others that don’t have integrations), but it requires some understanding of tag manager.

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [March 27, 2025, 8:56pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/10 "2025-03-27T20:56:41Z")

</div>

Absolutely amazing service!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 27, 2025, 11:49pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/11 "2025-03-27T23:49:35Z")

</div>

> [@nathanaelb](#):
>
> What do you mean?

I mean the part right after /r/ is the rowID of the row you’re interacting with.

> [@nathanaelb](#):
>
> I am assuming, perhaps wrongly, that each one of these URLs is that of a screen. In fact it’s very easy to check.

That’s correct, and I’m just dissecting what it means.

> [@nathanaelb](#):
>
> It would be nice to be able to define slugs on all screens.

It would be nice, but I think it would be costly to do something like that.

Let’s take this URL for example:

```auto
/dl/a-decouvrir/s/586405/r/tp7ScvwWReeDL52jJBg5vA/s/cOa8e8/r/10R6zyx2S2yek3ud6cm3kg

```

It means:

- You start from the tab with the slug being a-decouvrir.
- You click on a component with the ID being 586405.
- You open a screen with the rowID being tp7ScvwWReeDL52jJBg5vA.
- On that screen, you click on a component with the ID being cOa8e8.
- You open a screen with a rowID being 10R6zyx2S2yek3ud6cm3kg.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 28, 2025, 8:41am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/12 "2025-03-28T08:41:35Z")

</div>

So the path of the visitor is in the URL, that could be useful.

I had never paid attention to how URLs in Glide are built, and this is quite insightful. Rather than a simple destination or page/screen URL, the URL is defined as a path from a top-level tab.

I’m not too sure what that brings us builders, but it’s very interesting regardless, thanks for the explanation 🙂

---

<div class="post-metadata">

**Author:** ![NoCodeAndy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nocodeandy/32/62530_2.png) [@NoCodeAndy](https://community.glideapps.com/u/NoCodeAndy)\
**Post date:** [March 28, 2025, 1:35pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/13 "2025-03-28T13:35:49Z")

</div>

> [@nathanaelb](#):
>
> I’m not too sure what that brings us builders

Personally, I’m thinking about how we could tap into the PostHog API and parse those paths to understand common user navigation funnels within an app. 👀

---

<div class="post-metadata">

**Author:** ![NFNHello](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nfnhello/32/3371_2.png) [@NFNHello](https://community.glideapps.com/u/NFNHello)\
**Post date:** [March 28, 2025, 1:37pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/14 "2025-03-28T13:37:03Z")

</div>

The path can tell you where the user has been too. If you navigate to a child record and then back to the parent and then back to the child, all of that is appended to the URL. It shows the user’s path (as long as they are clicking to go to a page and not clicking back), not just the page location relative to the top page.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 28, 2025, 1:59pm UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/15 "2025-03-28T13:59:27Z")

</div>

I absolutely agree, the information is potentially useful for path analysis or navigation funnels as suggested by Andy.

My only small gripe is that as is, the information is difficult to decipher. Tabs and components are already labeled, and further screens could be. It would allow us to not have to parse the URLs and rework the data.

But I agree, the information at our disposal in the URLs in PostHog is already useful.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 29, 2025, 4:29am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/16 "2025-03-29T04:29:32Z")

</div>

This is also the problem that one of our clients had when she integrated Google Analytics. She had to manually parse those URLs out like I said to investigate user behavior.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 29, 2025, 9:49am UTC](https://community.glideapps.com/t/add-analytics-to-your-glide-apps-with-posthog/80799/17 "2025-03-29T09:49:13Z")

</div>

Parsing on our side is doable. Creating a reference table with component IDs, row IDs and readable screen names would help, but even that would be a lot of work. A row ID is associated to a table ID. Hm, but a table ID isn’t necessarily associated to a screen ID.

It’s true that even as I’m writing this, I realize that there is no real notion of screens in Glide. Navigating in the front end (the layout editor or production) is nothing but navigating across tables and rows in the data editor. So screens don’t actually exist, these are only collections of individual rows and tables (if needed filtered).

Let’s put it this way: it would still be nice if Glide had screen IDs and perhaps added that screen ID at the end of the URL which is currently generated: /sc/a1b2c3d4e5f6g7h8i9 . This would help with the parsing exercize.
