Work in progress

This guide serves as a starting point for the implementation of Google Analytics on Earthdata Search, specifically End-to-end Services. The overarching goal is to implement Google Analytics to gain insight into user behavior in End-to-end Services, with a specific focus on tracking behavior in the Data Access flow.

Basic Recommendations

  • Implement custom dimensions that allow for more useful segmentation of types of users
  • Implement well thought out events to help gain insight into the actions users are taking
  • Find relevant custom metrics to find better usage data
  • Set up goals to provide insight into the most important metrics

Custom Dimensions

Well thought out custom dimensions will allow us to much better segment user types. The custom dimensions allow us to send additional information about particular users, sessions, page hits that will become much more valuable in helping define and improve user behavior. When implementing the custom dimensions, we should be thinking about how the segments will become interesting when married to the data from actions.

We are limited to 20 custom dimensions and the data can become finicky when deleted, so a well thought out approach from the beginning is important.

Interesting Segments

  • Users affiliated with specific organizations

  • Behavior over account length

  • Power users vs. New users

  • All actions within a particular session

Possible Custom Dimensions 

AccountUser identifier
  • Allows for filtering events by individual users
  • Can't be personally identifiable information
  • Thinking we could use a users id
SessionSession identifier
  • Allow filtering of data by session
OrganizationOrganization information
  • Allow filtering behavior by individuals of the same associations
Account LengthLength of account
  • Allow filtering by account length
  • Gain insights on new vs. old users, etc
Total CheckoutsTotal "checkouts"
  • See difference as users become more familiar
  • Create buckets (New users v. Power Users)
  • Would require server side logic
  • Should make buckets (0 / 1 / 2-5 / 5-9 / 10+)
  • Theres probably a better name for this than "checkout"
Current TimeCurrent Time
  • Allow for sequential view of actions
  • GA’s out of the box time is inconsistent
  • Should be current time down to millisecond
Page StatePage state info
  • Track the state of the UI
  • Could take a bit of time to implement successfully


Events give us insight into the actual behavior of the users performing any given task.

Recommended Custom Events

  • TBD


  • Customization opened

  • Customization selected

    • Variable

    • Transformations

    • Output Formats

  • Variable Actions

    • Variable Type clicked

    • “Back to [variable type]” click

    • Variable modal “Back” button click

    • Select all variables clicked

    • Variable selected

    • Variable deselected

    • Variable modal “Done” button click

  • Transformation actions

    • TBD

  • Output Formats

    • Output format changed

    • Variable modal “Back” button click

    • Variable modal “Done” button click

  • Customization closed

  • Details opened

  • “Remove” clicked

  • “Back to search” clicked


  • “Earthdata” logo clicked

  • “Earthdata Search” logo clicked

  • “Find a DAAC” clicked

  • “Find a DAAC” DAAC selected

  • Header Question Mark clicked

  • “Send feedback” clicked

  • “Login” click

  • Login success

  • Profile actions

  • No labels