Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Events + "User Journey" Deep Dive 👤 📈 🔍 #11

Closed
10 tasks done
nelsonic opened this issue Sep 1, 2024 · 5 comments · Fixed by #13
Closed
10 tasks done

Custom Events + "User Journey" Deep Dive 👤 📈 🔍 #11

nelsonic opened this issue Sep 1, 2024 · 5 comments · Fixed by #13
Assignees
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. T4h Time Estimate 4 Hours technical A technical issue that requires understanding of the code, infrastructure or dependencies

Comments

@nelsonic
Copy link
Member

nelsonic commented Sep 1, 2024

Story

As an engineer building a web-based software product,
I would like to log custom events per unique session to the Analytics backend
So that I can visualise the "User Journey" in same interface as all other Analytics events/data (page views, etc.)

As noted in #11 (comment) ⬇️ the stats collected by ("Plausible Community Edition") are "basic".

Hence forth referred to as just "Analytics" because nobody (outside of a microscopic group of hackers) has heard of "Plausible" and "Community Edition" raises unnecessary time-wasting questions!
Obviously we will continue to give "Plausible Co" full credit and continue to sponsor their efforts.
But the branding is important for internal and external (client) discussions and everyone knows "Analytics".

Todo

  • Create a custom-events.md file in this repo where we will document all knowledge acquired. 📝
  • Transfer the initial "Exploring Custom Events" doc into the new file. 📋
  • Read the custom events API docs: https://plausible.io/docs/events-api to see what is possible in terms of Advanced usage. Specifically can we submit an event with a unique session_id to track a given "User" journey?
  • Please Comment below what is possible in terms of events and specifically:
    • What Types of data can be sent to the API
    • What can be displayed in the Plausible Anlytics UI without any customisation/modification.
    • Can we generate a session_id and submit it to the API with each event
      so that all pages for a given User-Agent are tied into a "Journey"?
      the session_id would be saved in localStorage and read before sending each event.

If we end up having to build our own UI components, that's fine (and expected),
we just want to see how far we can get with the built-in UI.

Bonus Level

Note: my understanding is that Plausible haven't implemented it yet. ⏳

  • Write a basic script that calculates the page scroll depth.
  • Log it to the custom events api TBD.
@nelsonic nelsonic added the discuss Share your constructive thoughts on how to make progress with this issue label Sep 1, 2024
@nelsonic nelsonic added enhancement New feature or enhancement of existing functionality help wanted If you can help make progress with this issue, please comment! technical A technical issue that requires understanding of the code, infrastructure or dependencies T4h Time Estimate 4 Hours labels Sep 11, 2024
@LuchoTurtle
Copy link
Member

There's a section on this -> https://github.com/dwyl/learn-analytics/tree/main/plausible#4-exploring-custom-events-in-plausible.

@nelsonic nelsonic changed the title Create Custom Event and Log via Events API Custom Events + "User Journey" Deep Dive 👤 📈 🔍 Sep 12, 2024
@nelsonic
Copy link
Member Author

Yes, I saw that section before opening this issue. 👌
Apologies for not referencing it before. 🤦‍♂️
Thank you for proactively adding it. 🙌
It's a good starting point and can be used as the basis for the custom-events.md file. ✅

This is only part of the Analytics API puzzle. 🧩
You see: what you've demonstrated here is logging a metric in isolation ...
What we want to figure out: can we create a session for a given User-Agent (anonymous)
and track their "journey" through the site i.e: what was their particular entry point, pages viewed and to what depth, searches performed, links clicked and eventual exit point; where were they when the stopped transmitting data?

Our current Analytics dashboard is not very insightful. 😕
It's just boring aggregate stats on page views, sources, locations and devices.

image image image image

Boooooooring ... 🥱

These stats are good but they don't tell a story. So what...? 🤷‍♀️

Once the PO/Executive has viewed the dashboard once
and though: "Nice, but no actionable insight" ... i.e. "Meh". 😒
They are unlikely to return to the Analytics dashboard ever again. 👎
We've seen it so many times before; we we've setup Google Analytics in 20+ orgs.
Unless the Executive/PO is already super data-driven and asks questions, 🤓 ❓
they will look at the Analytics once when you present it to them 1️⃣
and then ignore it for the next few months because they're "too busy"... 💭

I've re-written the OP/description above for clarity. 📝 ⬆️
Please comment with further clarifying questions until we're both on the same page as to what we're trying to achieve. 💬 🙏

@nelsonic nelsonic added priority-2 Second highest priority, should be worked on as soon as the Priority-1 issues are finished priority-1 Highest priority issue. This is costing us money every minute that passes. and removed priority-2 Second highest priority, should be worked on as soon as the Priority-1 issues are finished labels Sep 12, 2024
@nelsonic
Copy link
Member Author

@iteles FYI: this is the highest value task we can be doing because it will give the client value when they can see a "journey" through their product.
All other work can be done - within reason - by a (competent) "intern" with an LLM.
Writing original code for Analytics requires a human; for now ... ⏳

@LuchoTurtle
Copy link
Member

LuchoTurtle commented Oct 17, 2024

Answering this issue:

  • the plausible.io/docs/events-api link that has provided has already been covered in the [4-exploring-custom-events-in-plausible](https://github.com/dwyl/learn-analytics/tree/main/plausible#4-exploring-custom-events-in-plausible). The link explores essentially the API requests (custom events/pageviews) that next-plausible under the hood already does.
  • let me answer some questions:

    "What Types of data can be sent to the API?"

    "What can be displayed in the Plausible Anlytics UI without any customisation/modification?"

    • great question. There's a funnel analysis dashboard that we can add in the dashboard that essentially follows a "user journey" until conversion. We need to define what steps there are (these can be custom events or pageviews) until the conversion (which we also set).

    Can we generate a session_id and submit it to the API with each event so that all pages for a given User-Agent are tied into a "Journey"?

    • As far as I'm aware, with Plausible (perusing through their docs at https://plausible.io/docs), "advanced usage" only entails custom events, which we can define however we want and how/when they are created. Plausible will capture these and save them. However, custom display is not easily possible (without custom code). We can (as mentioned in the exploring-custom-events-in-plausible section) see these events in dashboards through goals and metrics. All of these "advanced features" are under the Events, funnels and e-commerce section in their docs.
      All of this to say that, although we can certainly generate a session_id and send it with custom events, displaying them in a way that is useful may prove more difficult. This is why I'm a great proponent of giving the "funnel analysis" a try first (which has a dedicated away of viewing how/where are dropping throughout their "journey"), which is a much quicker win than fiddling with code from the Plausible Elixir instance.

So, here's what I'm hoping to document and implement in accordance to this issue:

  • create custom events related to searching and capturing it in Plausible.
  • create custom events related to page scroll depth and capturing it in Plausible.
  • create an example of funnel analysis to showcase user journeys.

@nelsonic
Copy link
Member Author

@LuchoTurtle this is a good plan of action to make progress on this issue/task. Thanks. :shipit:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. T4h Time Estimate 4 Hours technical A technical issue that requires understanding of the code, infrastructure or dependencies
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants