Pipeline inaccuracy is the single most common support issue across STRONG locations, accounting for roughly 40% of all troubleshooting tickets. The Intro Offer Pipeline is designed to track a contact's day-by-day progress through their intro offer, but several known bugs can cause it to show the wrong day, count more visits than actually attended, or expire the offer before the contact has used all their sessions.
Four specific bugs cause the majority of pipeline inaccuracy issues. Each has a distinct root cause and a specific diagnostic path.
What it looks like
- A contact's pipeline card shows “Day 8” but they purchased 3 days ago.
- Pipeline Visits shows 5 but the contact has only attended 2 classes.
- A contact moved to “Expired” but still has sessions remaining on their package.
- A contact who has not booked a single class is showing as “1st Visit Complete.”
- The day counter started from the wrong date.
- A recently merged contact is suddenly receiving the full intro offer nurture sequence despite having zero bookings.
Bug 1 | False first visit from free classes
Root cause
A member attends a free STRONG Starter class before using their first intro offer credit. Core syncs the attendance data to Grow without distinguishing between free and paid sessions. Grow sees “attendance happened” and triggers the 1st Visit Complete stage, which starts the day counter.
The day counter is now anchored to the free class date, not the first package session date. If the free class was 7 days before their first paid visit, the entire pipeline is offset by 7 days.
How to diagnose
- In Core: open the member's profile. Go to the Payments tab (4th icon). Find the intro offer package and note the Begin Date. Click the package to see Visits History, which shows every booking with date, class, and status.
- In Core: go to the Schedule tab (3rd icon). Open Past Sessions and filter by the relevant dates. This shows ALL attended classes, including free ones.
- Compare: if there is a class in Past Sessions that does NOT appear in the package Visits History, it was a free class. If that free class date is earlier than the package Begin Date, it triggered a false Day 1.
Resolution
Manually update the contact's pipeline card to the correct day stage. Update the “Intro Offer First Visit Date” custom field to the actual first paid visit date.
No permanent fix available
The Core to Grow integration does not pass whether a session was free or paid. This is a platform limitation. The only prevention is to ensure members do not attend free classes on a different date before starting their intro offer package.
Bug 2 | Inflated visit counter from sync bounces
Root cause
Core syncs attendance data to Grow multiple times per day. Each sync pushes ALL custom fields, including Attendance Total. The visit counter workflow (02. Intro Offer Visits Update) watches for “Attendance Total changed” and adds +1 to Pipeline Visits when it detects a change.
The problem: the workflow checks whether the value changed, not whether it increased. If Core sends fluctuating values across consecutive syncs (for example, bouncing between 1 and 2), each fluctuation triggers another +1. The visit counter inflates beyond the actual number of classes attended.
Why it matters
The tag protection system for 5-session intro offers (06. Add Tag active 5 session) removes the protective tag when Pipeline Visits reaches 5. If the counter is inflated, the tag gets removed before the member has actually attended 5 classes. Without tag protection, the status update workflow sees an empty Active Package and moves the contact to Expired, even though they still have sessions left.
How to diagnose
- In Grow: open the contact's profile. Check the “Intro Offer Information” section. Note the Pipeline Visits value.
- In Core: open the member's profile. Count the actual classes attended via the package Visits History.
- Compare: if Pipeline Visits in Grow is higher than actual classes attended in Core, the counter was inflated.
- Confirm via Audit Logs: in Grow, go to Settings, then Audit Logs. Search by the contact's ID and filter to the intro offer period. Look at Attendance Total values across consecutive Integration sync entries. If the value fluctuates (for example, 1, then 2, then 1, then 2) with Pipeline Visits incrementing each time, the sync bounces caused the inflation.
Resolution
Manually correct the Pipeline Visits custom field to match the actual attendance count. If the protective tag was removed prematurely, re-add the tag active - 5 session strong intro offer and move the pipeline card back to the correct day stage.
Escalate to HQ
If you are seeing this pattern across multiple contacts at the same location, the Core sync may be misconfigured for that studio. Flag it to HQ with the contact IDs and audit log screenshots showing the fluctuations.
Bug 3 | Contact merge triggers false activation
Root cause
When two contact records are merged in Grow (via Bulk Actions), the merge triggers field change events. If the surviving contact inherits an Attendance Total greater than 0 from the old record, the visit update workflow fires. It sees: Active Package Category is Intro Offers, Attendance Total is greater than 0, and Intro Offer Pipeline Status is Pre. So it sets the status to Active, sets Visits to 1, which cascades into 1st Visit Complete and the full nurture sequence.
The result: a member who has not booked or attended a single class on their current offer receives the entire 15-day nurture sequence as if they had completed their first visit.
When it happens
This only occurs when duplicate contacts are merged while the member has an active intro offer. The most common scenario: a returning member (Re-Starter Pass or similar) has an old contact record from a previous visit and a new one from their current purchase. A studio team member merges them via Bulk Actions, and the historical attendance data from the old record triggers the false activation.
How to diagnose
- In Grow Audit Logs: search by the contact's ID around the time the pipeline issue started. Look for entries marked “Updated (Contact Merge)” with the source “BULK_ACTION.”
- Check the cascade: the merge entry will be followed by a rapid sequence of workflow trigger entries: status change, visit update, tag addition, and pipeline card movement, all within seconds.
- Verify attendance: in Core, check the member's actual bookings for the current package. If they have zero bookings but Grow shows 1st Visit Complete, the merge triggered the false activation.
Resolution
Manually reset the pipeline position: move the card back to the Purchase stage, set Pipeline Visits to 0, and set Intro Offer Pipeline Status back to Pre. Remove any tags that were added by the false activation.
Prevention
Advise studio teams to check with HQ before merging contacts who are currently on an active intro offer. The merge itself is fine for inactive contacts, but the field change events it creates can cascade through the intro offer workflows.
Bug 4 | False starter trigger misconfiguration
Root cause
The False Starter workflow (Day 0 False Starter Reset) is designed to catch contacts who purchased an intro offer but never attended. It checks after a set number of days: if the contact is still on Day 0 with zero visits, it moves them to the False Starter column and sends a re-engagement nudge.
Misconfiguration happens when the wait period in this workflow does not match the current intro offer length. If a studio switches from a 14-day to a 7-day offer but the False Starter wait period is still set to 7 days, contacts get flagged as False Starters before their offer has actually expired.
How to diagnose
- Check the contact's offer type: in the Intro Offer Information custom fields, note the Intro Offer Name and the purchase date.
- Check the False Starter timing: calculate how many days between the purchase date and when they were moved to the False Starter column. If that is shorter than the offer duration, the wait period is misconfigured.
Resolution
Escalate to HQ
This requires a workflow edit. Flag it to HQ with the location name, the current intro offer type and duration, and the date the contact was incorrectly moved to False Starter. HQ will adjust the wait period in the False Starter workflow for that location.
Investigation process | Quick reference
When a pipeline inaccuracy ticket comes in, this is the order to check:
Diagnostic flow
1. Core: Payments tab → package dates + credits
2. Core: Schedule → Past Sessions → any free classes?
3. Core: Package → Visits History → actual attendance
4. Grow: Contact profile → Intro Offer Information fields
5. Grow: Activity timeline → stage transition dates
6. Grow: Audit Logs → Attendance Total changes + merge events
7. Compare: Grow Pipeline Visits vs Core actual attendance
8. Identify: which bug matches the pattern
Key custom fields to check
These fields live in the “Intro Offer Information” section on every contact profile:
| Field | What it shows |
|---|---|
| Intro Offer Name | Which intro offer the contact purchased (STRONG Intro Offer, Starter Pass, etc.). |
| Intro Offer Purchase Date | When the purchase was detected by Grow. Set by the Date Stamp workflows. |
| Intro Offer First Visit Date | When the contact's first visit was recorded. If this does not match Core, a free class may have triggered it early. |
| Pipeline Visits | How many visits the system has counted. Compare to Core's actual attendance count to detect inflation. |
| Intro Offer Pipeline Status | Current status: Pre, Active, Expired, Won, Abandoned, Lost, False Starter. |
| Intro Offer Pipeline Day | Which day the contact is on in the pipeline. Driven by the daily pipeline workflows. |