Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.

Tracking

Andrey Scherbovich edited this page Dec 3, 2021 · 43 revisions

Contracts (On-chain)

All Gnosis Safe contract state and interactions on-chain can be analyzed via Dune analytics. This includes properties such as:

  • Number of Safes deployed
  • Safe version
  • Number of owners and threshold
  • Number of transactions made
  • Fund store
  • ...

Gnosis Safe dashboards on Dune are tagged with the label Gnosis Safe. There is a main dashboard and a long list of dashboards for all kinds of purposes.

Web (Off-chain)

General

  • Google analytics is used for tracking.
  • Default properties such as device types and operating system are tracked.
    • e.g. Number of unique visitors daily/weekly/monthly or time spent on page
  • The landing page is tracked separate from the app:
  • Users have to accept the analytics cookie before they show up in the tracking. We don't track users that don't accept.
  • Tracking data can best be viewed via Datastudio:

Custom dimensions

There's a single custom dimension – chain – indicating the chain id of the viewed safe.

Custom events

  • Wallet connected
    • category: 'Wallets'
    • action: 'Connect a wallet'
    • label: <provider name>
  • Safe created
    • category: 'User'
    • action: 'Created a safe'
  • Navigation (category: Safe Navigation)
    • Open Safe list via Sidebar (action: Safe List Sidebar)
    • Open coins (action: Coins)
    • Open collectibles (action: Collectibles)
    • Open transactions (action: Transactions)
    • Open address book (action: AddressBook)
    • Open Safe apps (action: Apps)
      • label: <Safe app name>
    • Open settings (action: Settings)
      • Details (label: Details)
      • Owners (label: Owners)
      • Advanced (label: Advanced)

Misc

Mobile (Off-chain)

General

Tracking events and user properties

  • Documentation on user properties
  • Every screen should be tracked as separate event.
  • These events have the prefix screen_
  • We cannot use the Firebase native screen tracking since that's not working for us on iOS with SwiftUI. There is an issue on Github for this.
  • The screen name is set as event name with a screen_ prefix. Overview screen tracking
  • There is a limit of 500 unique event names on Firebase, afterwards they get dropped (Error code 8)
  • There are some reserved names we cannot use.
  • Params:
    • chain_id (String):
      • none if the chain id is not known yet
      • Chain identifier (e.g. "1" for mainnet) if it is already known:
        • By default take it from the currently selected safe chain
        • In the flow of adding a new safe specify it as the future Safe chain id

Full list of events and user properties

Clone this wiki locally