Personal Training Acquisition Pipeline

Summary

Using Middle and HubSpot workflows, you can automate deal pipelines that track intro session bookings, attendance, and final acquisition through training package purchases (both PIF and recurring packages). Middle consolidates member, event, purchase, and recurring service data into a single Deal object using custom properties and pipeline. This process gives trainers and sales teams clear, close-to-real-time visibility into the personal training acquisition journey for both new and existing members.

Action Checklist

The below is needed to setup this integration:

Middle workflows

Event Trigger

Central to the integration is an introductory event, such as a new member workout or free a introductory session, that introduces members to the gym’s training programs. Middle workflows identify these events based on the event name. When the event is booked, Middle either updates an existing Deal to a Booked stage or creates a new Deal with a Booked status. Subsequent changes to the event status, such as an attendance, cancellation, or no-show, automatically advance the Deal through the pipeline.

Event status normalization

ABC Ignite events have two statuses: a class or appointment status and a status for the attendee. Middle’s integration takes these two statuses into account and compensates for when events are not marked correctly by the trainer. The four normalized values for an intro event are Attended, Canceled, No Show, and Pending. This status is passed directly to the HubSpot deal to help power the pipeline stage and communications.

Default event normalization

Middle's suggested event status normalization is as follows (this may differ based on your gym's operations):

Attended

If attendedStatus = “Attended”

Canceled

If attendedStatus = “Canceled”

No Show

If eventTimestamp is in the past and attendedStatus != “Attended” or “Canceled”

Pending

If eventTimestamp is in the future and attendedStatus != “Attended” or “Canceled”

circle-info

This logic can be customized in the workflow template in step 3 in the probable_status definition.

Multiple bookings

If a member has more than one intro event in the past 30 days, such as when they need to rebook after a cancellation, Middle deciphers which event should be given priority based on the normalised event status and event timestamp. Preference is first given to the normalised event status in the following order:

  1. Attended

  2. Pending

  3. Canceled & No Show

From there, preference is given to the earliest event. By determining which event should receive priority, Middle can reconcile an array of event data into a single Deal.

Package Purchased

When Middle sees a training package purchase, a checkbox flag is set on the Deal to indicate that the member purchased a deal-eligible package. The setting of this flag should automatically mark the Deal as closed-won.

The amount of the Deal is set by the ABC Ignite package total.

Recurring services versus paid-in-full packages

Training packages can be configured as recurring services or paid-in-full packages in ABC Ignite. It’s important to understand if only one or both of these package types should influence whether a Deal is closed-won. Recurring services can be pulled from ABC Ignite’s members/recurringservicesarrow-up-right and transactions/posarrow-up-right endpoints. Paid-in-full package purchases show up in the transactions/posarrow-up-right endpoint.

Filters can be applied to Middle workflows to include or exclude purchases and services.

Templates

Event attendance

Member Recurring Service

POS Sale

HubSpot Deal configuration

Pipeline stages

Core to the integration are Deal pipeline stages. Below are the assumed pipeline stages:

  1. Not booked: An initial stage where a prospective training client is identified, but has not yet booked an introduction session

  2. Booked: The prospect booked an introsession

  3. No show: The prospect booked an intro session and didn’t show up

  4. Missed: The prospect attended the intro session but has not yet converted to a training client

  5. Closed Won: The prospect converted to a training client

  6. Closed Lost: The prospect either fell off or communicated they are not interested

Hubspot Deal Properties to Create

Below are the properties that should be created to power the pipeline stage, communications, troubleshooting, and idempotency:

Idempotency properties

  • abc_guide (Unique single-line text): A primary identifier for the deal to keep duplicates from being created. The Middle workflow is set up to pass in a concatenation of pipeline ID and member ID: {pipeline}:{member_id}.

Event properties

  • intro_event_status (Dropdown): Normalized to Attended, Canceled, Pending, or No Show

  • intro_event_timestamp (Datetime): It’s important to tailor communications to whether or not this timestamp is in the future of the past

  • intro_session_key (Unique single-line text): To identify the preferred event (corresponding to the ABC Ignite event attendance key). This will help keep duplicate deals from being created if a deal is closed-lost and a Middle ABC Ignite Event workflow is unintentionally triggered.

Package purchase properties

  • pt_package_purchased (Checkbox): A flag to indicate whether the member purchased a training package

  • pt_package_key (Single-line text): To identify the data point that indicated a training package purchase (either the recurring service ID or POS purchase ID)

Member properties

  • member_id: The primary identifier for the member. Used to associate the deal to the correct contact.

HubSpot workflow configuration

Using Deal segments to trigger HubSpot workflows, you can automatically set deal stages based on the ABC Ignite data Middle sends to HubSpot.

circle-info

Since these types of deals can go back a stage, it’s important to configure workflows for re-enrollment.

Intro Session - Booked

Segment filter logic: If the Intro event status is “Pending,” the Intro event timestamp is in the future, and PT Package Purchased? is no or unknown, then mark the pipeline stage as Booked.

Intro Session - No Show:

Segment filter logic: If the Intro event status is “No Show” or “Canceled,” or the Intro event timestamp is in the past and the Intro event status is “Pending,” and PT Package Purchased? is no or unknown, then mark the pipeline stage as No Show.

Mark Deal as Missed:

Segment filter logic: If the Intro event status is “Attended” and PT Package Purchased? is no or unknown, then mark the pipeline stage as Missed.

Mark Deal as Closed-Won:

Segment filter logic: If PT Package Purchased? is yes, then mark the pipeline stage as Closed-Won.

Clear the idempotency key if Closed-Lost:

If you want Middle to create new deals for existing members, then the GUID property will need to be cleared to allow for a new deal to be created in the future.

Associate Deal using member ID:

A workflow will need to associate Deals to Contacts using a match on member ID.

Last updated

Was this helpful?