CustomerOps tools overview

An overview of the tools we use for CustomerOps, with some useful links.


Hubspot is a customer relationship management (CRM) software. We use HubSpot primarily for marketing operations. Any marketing activity that generates leads will funnel leads into HubSpot. In order to capture these leads, we embed HubSpot forms onto our marketing websites (,, and use HubSpot landing pages.

Contacts: all generated leads are turned into HubSpot Contacts.

  • Built-in fields (full list):

    • Basic contact info: Name, Email, Company, etc.
    • Original Source
    • First page seen
  • Custom fields (some notable ones listed below):

    • First Touchpoint
    • First Source URL
    • Anonymous User ID
    • Is Server Admin
    • NPS score
  • Contacts are created when users sign up on Cloud, install an instance, fill out one of our forms, or speak to a sales rep.

Forms: all forms you see on our marketing websites are HubSpot forms. Whenever a user fills out a form, a Contact record is created in HubSpot.

Landing pages: we use landing pages for some marketing campaigns. Landing pages usually include a form.

Emails: automated emails and email campaigns are run via HubSpot. We can create “Smart lists” of contacts to send emails to.

Integrations: connect HubSpot with other tools. For example, we have a ZoomInfo integration that will enrich Contact fields with ZoomInfo data if available. The most critical integration is the Salesforce integration, which sends contact data between HubSpot and Salesforce.

Workflows: a way to automate tasks. We use workflows heavily to update custom fields in Contact records. They’re also able to update customer records (e.g. ZoomInfo) or update data in other tools (e.g. Salesforce campaigns) via our integrations.

HubSpot Data in Looker

We funnel some HubSpot data into Looker to analyze and visualize useful data. Currently, we only pull in NPS score data and contacts data. Since we’ve added some new fields (anonymous user ID, in particular), we have done and will do more analysis that combines HubSpot data with user data from Sourcegraph Cloud.

How to get data into Looker:

Salesforce (SFDC)

Salesforce is also a CRM. This is what our sales team uses and relies on heavily, and is the source of truth for our customer interactions and data. Our marketing team uses this as well, in a limited capacity. The best people to speak to about Salesforce are Joe Kirsher (Sales Ops) and Seth Hoover (Salesforce Admin). I haven’t done much work in it yet, so my knowledge is pretty limited currently 🙂 .

Some useful marketing-related Salesforce links:

  • Marketing dashboard: the marketing team uses this as their source of truth for tracking marketing campaign success.
  • Salesforce campaigns: HubSpot leads get added to campaigns based on how they converted.

Reporting & Dashboards:

  • Understanding of Salesforce Objects
  • Salesforce reporting is a great, functional tool but is only as powerful as the quality of data built into the platform
  • This makes our goals of clear definitions and alignment around those definitions an incredibly important step 1

Google Analytics (GA)

We use Google Analytics on our marketing site to capture high-level aggregated usage data and traffic. We can measure things like overall traffic, traffic by country, referral sources etc. We also have Goals set up so that we can measure basic website conversion performance. We sync basic traffic data to BigQuery.

GA integrates closely with Google Ads/AdWords. Google Ad performance is determined by the number of users who click an ad and convert via a goal we define in GA. Talk to Lori (Digital Marketing) to find out more about Ads.

Google Tag Manager (GTM)

Google Tag Manager is a Tag Management System (TMS). A TMS lets you quickly add and update code snippets on your website for event measurement and analytics. It’s basically a way to add tracking + analytics without adding snippets of code directly to your website code, and do it all through the GTM user interface. For example, if you wanted to measure LinkedIn Ad conversions on your website, you’d need to add a code snippet directly into your website. Now, you can just do this through GTM’s interface without making code changes.

GTM lets us also run code snippets across all our marketing entities (,, etc.) and, which makes it useful for easily adding tracking code across all our sites.

Key concepts:

  • Tags: pieces of code that send info to different systems.

  • Triggers: actions on our website that cause Tags to execute. You can easily define things like “when a URL containing ‘contact’ is visited”, or “when a button that says ‘Sign Up’ is clicked”

We use Google Tag Manager to:

  • track events on our marketing website and send them to Google Analytics, like all button clicks (the tag called “GA Event - about - buttons”) and marketing content downloads (“GA Event - about - pdf download”).
  • track actions on Sourcegraph Cloud like searches (“GA Event - - search”)
  • run small scripts to populate cookie variables on (“Populate info forms with anonymousUid and sourceURL)
  • add conversion actions (i.e. actions that we want to measure as a conversion/success) for non-Google ads (e.g. LinkedIn and Bing)

Linking to customer or prospect names in public places

It’s often useful to include a customer or prospect name in a public RFC, GitHub issue, or other publicly-viewable place. In order to do so without leaking this information to the public, we use a private GitHub repository with issues representing customers. We don’t use links to the salesforce account page because not all Sourcegraph team members have access to salesforce, whereas everybody has access to GitHub.

To use it, copy a link to the issue that represents the customer you want to reference. For example, if the customer was “Sourcegraph”, you might write: “We heard from this customer that…”.

For now, the list of accounts is maintained manually by @malomarrec. In the near future it will be automatically populated from Salesforce.

A benefit of using GitHub issues for referencing customers is that all GitHub issues linked to an account will automatically appear in the account issue:



More useful links for the HubSpot to Salesforce integration: