All work
Winner, 2023 HubSpot Impact Awards, Platform Excellence

Every survey kept. Every customer tiered.

A carbon measurement software company whose customer surveys wrote over themselves. Now every answer is kept, and it sets each customer’s tier.

Industry
Carbon measurement software
Location
Singapore
Solution
Customer surveys and tiering
Project lead
Brie Ginman
Award
2023 Impact Awards
Data extraction90%Less time pulling survey insights and reporting on them
Filtering92%Less time filtering survey data to answer a question
Customer tiers90%Less time checking and setting each customer's tier

01 The briefGive every survey answer a permanent home in HubSpot, calculate CSAT and NPS the way the industry does, make the results fast to filter, and use them to set each customer's tier automatically.

02 The problem

Survey answers with nowhere to stay.

Terrascope makes carbon measurement software, from Singapore. After a full HubSpot onboarding with us, its team wanted its customer surveys to show who was happy, who was valuable and who might leave.

Terrascope asks customers three standard questions. Net Promoter Score (NPS) asks how likely they are to recommend you, customer satisfaction (CSAT) asks how happy they were, and customer effort score (CES) asks how easy it was. Each has an industry formula, and Terrascope wanted those formulas worked out for every contact and every company.

It stayed that way because the answers had nowhere to build up. HubSpot's standard survey tools could only put a response onto a contact or a ticket, and every rating went into the same single property. The next survey a customer filled in wrote over the last one, so there was never a history to average. NPS and CSAT could not be asked in one survey either.

In the meantime we set up a spreadsheet that copied the survey data out of HubSpot into a Google Sheet. It worked, but the team had to calculate and review the numbers by hand every month, and pulling the insights out took nearly three hours each time.

Three things the standard setup could not do

Keep every answer

A new survey overwrote the rating from the one before, so a customer only ever had their latest score.

Tell the ratings apart

NPS, CSAT and CES all went into the same property, so there was no way to tell one kind of rating from another.

Run the real formulas

The built-in reports could not apply the industry CSAT and NPS calculations across a whole contact or company.

03 What we built

A record for every survey.

Four pieces, built in order, because each one needs the one before it to have something to work with.

Step 01

A custom object for survey results

HubSpot lets you add your own type of record beside contacts and companies. We created one called Customer Survey Submissions, so every survey becomes a record of its own, linked to the contact and the company it came from.

Custom objectOne record per surveyContact and company links
Step 02

Automation that sorts the ratings

A naming convention for the surveys, and workflows that read every custom question and rating, put each one in the right property, and pass the data to the contact and then to its new survey record.

Naming conventionWorkflowsNPS, CSAT and CES apart
Step 03

Calculated properties for the formulas

With a history to work from, calculation properties produce the averages and the industry CSAT and NPS formulas across every survey a customer has answered.

AveragesCSAT formulaNPS formula
Step 04

Customer tiers, set automatically

A workflow gives each customer points for Total Contract Value and for their NPS and CSAT averages, assigns a tier, and re-enrols them if anything changes.

Total Contract ValueNPS and CSAT averagesRe-enrolment on

The tier rule had to allow for gaps. Every customer has a contract value but only some have NPS or CSAT averages, so the workflow checks every possibility before it sets a tier.

What a tier tells the team
  1. Who is worth moreThe customers of higher value.
  2. Who is happyThe customers whose scores say they are happier.
  3. Who might leaveThe customers at risk of churn, meaning likely to cancel.

The point of the tiers was speed. The Terrascope team wanted to pick out these three groups quickly, using the survey data they were already collecting.

A survey answer used to last until the next one. Now it stays.

Neighbourhood

Survey data you cannot report on?

The Three Sisters in the Blue Mountains, sandstone cliffs above a forested valley under a cloudy sky
04 How the data moves

From one answer to a customer tier.

Six stops, all inside HubSpot. The answer is sorted, stored against the person, kept as its own record, counted, and scored.

How one survey becomes a tier
How a Terrascope survey answer becomes a customer tier in HubSpot A survey is submitted. A sorting automation reads each question and rating and pushes the data to the contact, then to a Customer Survey Submissions record linked to the contact and company. Calculated properties produce averages and the CSAT and NPS formulas from those records, and a tier workflow scores contract value with the NPS and CSAT averages to set the customer's tier. Survey submitted An NPS, CSAT or CES survey Named to the convention Sorting automation Reads each question and score Each rating to its own field Contact Takes the ratings first Then passes them on Survey Submissions One record per survey, kept Linked to contact and company Calculated properties Averages across every record The CSAT and NPS formulas Tier workflow Contract value, NPS and CSAT Checks every case, sets a tier reads pushes pushes feeds feeds

Why the survey record is marked. Before this build HubSpot only ever held a customer's latest rating. The Customer Survey Submissions object is the one place every answer is kept, which is what the averages, the formulas and the tiers all read from.

05 How we ran it

Understand the data before building on it.

Four phases, from reading the data Terrascope already had to handing the finished build over.

Analysis and understanding of the data, What the surveys held, and why it could not be used
  • A read through every survey Terrascope had, to see what it held and what the team needed from it, before choosing how to build.
  • An interim Google Sheet so reporting could carry on while the real fix was built.
  • NPS, CSAT and CES had not been collected logically, so the build needed a way to tell them apart.
  • Working sessions with Terrascope arrived at custom objects as the answer.
Custom object development, The survey record, its workflows and its calculations
  • Customer Survey Submissions, the custom object, created and linked to contacts and companies.
  • Workflows that move every required field into a record on it.
  • Calculation properties for averages and the industry formulas.
  • The tier workflow, which checks every possibility before it assigns a tier.
Historical data, Every past survey brought into the new object
  • All historical survey submissions included, so the averages started with a real history.
  • HubSpot's manual enrolment by filter put past surveys, contacts and companies through the right workflows.
Documentation and training, What the Terrascope team was left holding
  • Documentation for every component, written in the final weeks of the project.
  • Training on each piece, so the team can look after the upkeep themselves.
06 The results

Four goals. Here is what came of them.

What Terrascope asked for before the build started, and where it stood once it was live.

Goal 01

Survey insights for every contact and company

We built the Customer Survey Submissions custom object, with one record per survey linked to its contact and company, and brought every past survey into it.

Every answer

kept against its contact and company, none written over. Every past survey came in too, so the averages started with a real history.

Goal 02

Reporting on the real CSAT and NPS formulas

We set up calculation properties for the averages and the industry formulas, fed by workflows that sort each rating into the right property.

90%

less time pulling survey insights out and reporting on them. The CSAT and NPS formulas run inside HubSpot, so reporting no longer starts with copying survey data into a Google Sheet and working the numbers out by hand.

Goal 03

Fast filtering of survey data and reports

We made survey results records of their own, so they filter like any other HubSpot record.

92%

less time filtering survey data to answer a question. A question about how a group of customers feels gets a quick answer, which is what the team needs to decide what to do next.

Goal 04

Customer tiers set from the survey results

We built a workflow that scores contract value and the NPS and CSAT averages, checks every possibility, and re-enrols a customer when anything changes.

90%

less time checking and setting each customer's tier. The system assigns each tier and re-checks it when anything changes, so the team can pick out who is worth more, who is happy and who might leave.

Before, nearly three hours every month. That was the time it took to pull survey insights out by hand. The automated workflow cut it by an estimated 90%.

Put together, the survey answers Terrascope was already collecting now tell its team who is happy, who is valuable and who might leave. Pulling out the insights, filtering them and setting tiers take 90% to 92% less time than they did.

The time the team got back goes into customer support and longer-term projects. The documentation and training for every piece mean the system stays theirs to run.

Brie Ginman, project manager at Neighbourhood

Who ran it

Brie GinmanProject Manager

Led the survey data analysis, the survey custom object, the CSAT and NPS formulas and the tier workflow.

2 HubSpot Impact Awards

Customer feedback that never changes anything?

The neighbours next door.

The closest builds to this one, ranked by industry, HubSpot hub and service.