Should we add more tracking to the website?

Hi everyone!

@Sym, @Franco, @Cori, @OyeAlmond, @Cotabe, @tropicalmango and I were discussing the best way for us to track important metrics for Growth last week, and were digging into Amplitude and other data sources.

The Problem
While we think that Amplitude is good for tracking platform (product) analytics, it has a blind spot. It’s not currently tracking inbound traffic (where our users are coming from) and pageview (where our users go on our platform).

Why is that a problem? Well mainly, we don’t know how well we’re doing for marketing and comms and it’s hard to optimize when you’re flying blind. For example, we don’t know:

  1. How much of our traffic is coming from Twitter versus SEO versus Direct traffic? What is our ratio of new versus returning users? We don’t know this at all.

  2. Where are people bouncing (leaving) the platform? Where are the parts of Giveth that are not as “sticky” that we might need to improve on? What projects are our most visited? We know what projects get the most donations, but which ones are getting the most traffic that we can highlight.

  3. How is our funnel doing? What channels are converting the best? What projects are converting the best? As we’re looking into tracking GPS’s (Giveth Progress Signals), it’s a bit hard to optimize if our tracking is a black box.

The Solution

So, what are potential solutions for this? At the moment, there are 3 ways I think that we can solve this.

  1. Install Google Analytics on our platform. This is the gold standard for tracking online (currently more than 90%+ of all websites online use Google Analytics). While some people on the team may be opposed to this on principle, Google Analytics does not track any user-identifiable information (like emails or names etc.) and it’s a tool that a lot of us are very familiar with (I’m been using it for more than 10 years).

  2. Install another open sourced tracking tool. There are other tracing solutions besides Google Analytics we can explore that are more open source. For example, we could install a tool like Open Web Analytics or Offen. The tradeoffs are they would need more customization and wouldn’t have as much data out of the box as Google Analytics.

  3. Add more data to Amplitude. I checked the Amplitude docs and it is possible to add inbound tracking, but it would require some setup to add the referring domain and page view tracking. This solution would take a lot more setup from what I read (since we have to track each page as a separate event) but it does seem possible.

WDYT?

I’m putting this up for a vote and your comments on how you all think we should proceed.

Looking forward to hearing your thoughts!
:v:

Should we add more tracking to our site?

  • Yes, Google Analytics seems like a good solution!
  • Yes, but I want to explore other open-source solutions!
  • Yes, but let’s stick with just Amplitude and try to add more to it!
  • No more tracking!

0 voters

3 Likes

Initially, I would pragmatically vot for installing Google Analytics while we have the bandwidth to implement a different solution that can bring us similar insight.

But before voting would love to read more arguments from people that might have a different opinion.

Maybe dev team: @MoeNick @amin @mateodaza @geleeroyale

2 Likes

Having a tracker and an analytics tool is a must, I think we have to spend at least 20% of each sprint budget on this regularly. So let’s start with the easiest and continue exploring, it’s ok if we make sure to change it in the future if anybody is persuaded on the best solution.
I voted for Google, no matter Brave or tracking-blockers blocked them or not. let’s do something :slight_smile:

2 Likes

https://plausible.io/ is a decent alternative to Google analytics btw. It is open source and can be self hosted, but also offers a SAAS solution that is trivial to set up for a minimal monthly fee.

7 Likes

I agree with the comments. Seems like we should go with what’s easy and complete and change later on as needed.

1 Like

I agree we the whole idea and the necessity of having more insight. I wonder whether we are enough proficient in using amplitude and have been using its available feature. Let’s research and see what’s the best. I reckon it may be better a developer does the research again since he/she can evaluate better how much work is needed to replace amplitude with another solution or utilizing amplitude feature.

Thanks @amin ! Just to clarify though, I don’t think we should replace Amplitude, I think we should keep it because it’s useful for product analytics (but isn’t helping us much with inbound metrics).

I think going with google analytics to start tracking more until we find a decentralized option that suits us better is the best way. Specially because you mentioned @aabugosh that you know your way around it really well! It’d be great to start tracking and see how we can start getting more metrics to improve :slight_smile:

1 Like

That’s an idea, but having more analytical services means bigger source code and bundle size and consequently higher load time on the user side. So I prefer having one tool if it’s possible.

1 Like

tbh I started amplitude but nobody has really invested a proper amount of time to make it work great. I think it’s a great tool it just hasn’t had very much attention, also headaches with segment, which sends data to amplitude have been a headache. We also had many issues with privacy focused users blocking most trackers - @renjer found a work around some time ago for sending front-end analytics and had implemented it in Giveth Trace but it never made it to Giveth.io.

imho either someone invests some time making Amplitude functional or we scrap it and go with Google analytics.

There’s also an argument to be said about centralizing more and more of our services to google - google forms, google docs, google sheets, google calendar and now potentially google analytics

5 Likes

Not to hijack (and in fact, I agreed above to google anal.), but I hear you @mitch and wonder what the decentralized solution is to the unfortunate and non-value-aligned google monopoly.

While I would be totally down to try different analytics tools (I am not a google hater, but I do think monopolies are dangerous) - I just want to mention that we already use google analytics. We might miss some config that gives us deeper insight into the main dapp, but our whole domain is tracked.

@aabugosh - let’s schedule a call to look at it together. From the governance call held today I got the impression that at least @tropicalmango would like to join as well. Anyone welcome :slight_smile:

EDIT: Stupid me was looking at google search console instead of analytics, so you are right people - currently we are not opting into google analytics

1 Like

Hey @geleeroyale, thanks for following up!

Maybe we have an account for GA, but I don’t see any code being fired for it on the main website or any top level pages (i don’t see it when I inspect and also when I look at extensions that track what JavaScript pixels are being called it doesn’t show up)

I’ll create a chat group on Discord to follow up on this :pray:

i like this idea, since it’s simliar to GA anyway and a couple of us have some experience with that, would make it an easier jump AND we support the web 3 ecosystem- seems like a win win :slight_smile:

I agree, the more we can support the web 3 decentralized world we want to be a part of, the better. There may be more investment upfront required but then we’re casting a vote in that direction. Also, it’s much harder to reverse course later, so right now would be the easiest time to implement a web 3 decentralized solution

1 Like

We formed a little impromtu workgroup to evaluate our options. Our final candiates were plausible and google analytics. We decided together to use Googles service for these reasons:

  • Where with plausible we would need to define events we want to track in our source code, GA offers automatic tracking of events which means that we can freely change stuff around on the site without affecting analytics, we don’t introduce another source of bugs and finally we can look at things in the future that we did not plan for at the time of implementation
  • Ahmad is highly proficient in GA and can really use the power features there

However - please consider this decision temporary - we might want to revisit this topic as competitors to GA get better and more powerful (especially if some tool comes along that can track engagement together with events on the blockchain :fire: )

As a next step an issue will be created for devs to add Google Analytics via Google Tag Manager.

1 Like

Thanks @geleeroyale ! I made an issue here for implementation: Add Google Analytics (Tag Manger) to the website · Issue #1539 · Giveth/giveth-dapps-v2 · GitHub

1 Like

I suggest you to look at Fathom if you haven’t - that’s a privacy-focused platform for web analytics. I understand the need to measure product metrics and track users activity, but IMO Google Analytics is quite misaligned with crypto values. Fathom may be able to get some of the metrics you’re looking for without hurting users privacy, tracking cookies, etc. I know you’ve already started with GA, but would like to leave my suggestion anyway, sorry for the late reply.

Thansk @mendesfabio for the suggestion! Fathom looks great, but the main issue is that similarly to Plausible it would need us to add tracking events and goals to each and everything we want to track (in the website code, every button and action that doesn’t change the url etc.) which would add a lot of dev work, so for now we decided to try Google Analytics first, see what goals we want to start tracking based on usage and the KPI’s we’re setting for each working group, and then in the future, once we know exactly what is important for us to track, explore other options (and probably go with either Plausible or Fathom).