Naming Conventions
Why This Matters
Every workflow, form, tag, and field in GHL needs a consistent name. Without conventions, two people building the same workflow will name things differently, making it impossible to find anything, duplicate across clients, or maintain a master snapshot.
These conventions apply to every client sub-account, every time, without exception. If something isn't covered here, ask James before inventing your own naming scheme.
Club Codes
Every client club is assigned a two or three-letter code. This code prefixes everything built in their sub-account.
| Club | Code |
|---|---|
| Crane Valley Golf Club | CV |
| Hadley Wood Golf Club | HW |
| Harpenden Golf Club | HP |
| Stoke Park | SP |
| Windlesham Golf Club | WG |
| Cottesmore Golf & Country Club | CO |
| Fullwell Golf Club | FW |
How to assign a new club code:
- Use the first letter of each word in the club name, up to three letters
- Avoid codes already in use — check the list above first
- If there's a conflict, use the first two letters of the most distinctive word in the name
- Add the new code to this table before building anything
Sub-Account Naming
When a new client sub-account is created in GHL, use the full formal name of the club exactly as the club uses it — including spaces, proper capitalisation, and & where it is part of the official name.
Examples:
Hadley Wood Golf ClubCrane Valley Golf ClubCottesmore Hotel Golf & Country ClubAshford Manor Golf Club
Rules:
- Do not abbreviate the club name
- Do not add suffixes like
— Captureor(Client) - Use
&where it appears in the club's own name — this is the one place in GHL where&is correct - Match the capitalisation the club uses in their own branding
- Sandbox or test accounts must be prefixed:
DO NOT USE — [Description]
The tag and workflow naming rules (dashes, no spaces, no special characters) do not apply to sub-account names. Sub-account names are display labels, not system identifiers.
Workflows
All automation workflows follow this format:
Format: [Club Code] — [Workflow Name]
Examples:
HW — New Member OnboardingCV — Lead AutopilotSP — Member Birthday SummaryHW — Contact Us Routing
Additional rules:
- Use title case for the workflow name
- Be specific —
HW — Membership Follow-Upis better thanHW — Email 1 - For multi-step sequences, name the parent folder and number the individual workflows inside it:
HW — Onboarding / 01 Welcome,HW — Onboarding / 02 Meet the Team - Lead Autopilot campaign workflows include the campaign name and month:
CV — Lead Autopilot / Women's Membership Mar 2026
Forms
Format: [Club Code] — [Form Name]
Examples:
HW — Contact UsHW — Membership EnquiryHW — New Member Intake (Internal)HW — Get to Know YouCV — Society Brochure Download
Additional rules:
- Add
(Internal)to the end of any form that is staff-only and should never be shared publicly - Form names should describe what the form does, not the workflow it belongs to
- Keep names short — under five words where possible
Tags
All tags use dashes. No spaces, no special characters, no underscores.
Format: Category-Description for named tags, lowercase-with-dashes for status and campaign tags.
Never use spaces or special characters. Spaces and characters like &, /, (, ) break GHL workflow conditions — the tag will not match and automations will silently fail. This has caused real issues on client accounts (e.g. Stonebridge).
| Wrong | Right |
|---|---|
interest-spike bar & food enquiries | Interest-Spike-Bar-Food |
Interest Membership | Interest-Membership |
source-walk in | Source-Walk-In |
GDPR-Marketing Yes | GDPR-Marketing-Yes |
If you find an existing tag with spaces or special characters, do not rename it — renaming breaks existing workflows. Add the correctly formatted tag, update the relevant workflow conditions to point to the new one, then leave the old one in place.
Source Tags
Applied when a contact is created. Never removed.
| Tag | When applied |
|---|---|
Source-Website | Contact Us form, Enquiry form, any website form |
Source-Facebook | Facebook Lead Ad |
Source-Google-Ads | Google Ads landing page |
Source-Phone | Manually added after inbound call |
Source-Walk-In | Manually added after in-person visit |
Source-Referral | Referred by existing member or contact |
Source-Import | Historical data migration |
Source-Chatbot | Chatbot lead |
Interest Tags
Applied based on the type of enquiry or interest shown.
| Tag | When applied |
|---|---|
Interest-Membership | 5/7 Day Membership enquiry |
Interest-Membership-Flexi | Flexible Membership enquiry |
Interest-Membership-Corporate | Business membership |
Interest-Membership-Application | Membership application submitted |
Interest-Society | Society/Group Golf enquiry |
Interest-Green-Fee | Visitor tee time |
Interest-Weddings | Venue hire/Events |
Interest-Lessons | Pro tuition |
Interest-Meetings-Events | Meetings and events |
Interest-General-Enquiry | General enquiry |
Compliance Tags
Applied to record consent and marketing status.
| Tag | When applied |
|---|---|
GDPR-Marketing-Yes | Marketing consent given |
GDPR-Marketing-No | No marketing consent |
Newsletter-Subscriber | Subscribed to newsletter |
Privacy-Policy-Accepted | Required consent recorded |
Brochure-Downloaded | Downloaded any society brochure |
Content Tags
Applied when a contact downloads a gated asset.
| Tag | When applied |
|---|---|
Brochure-Society | Society brochure downloaded |
Brochure-Membership | Membership pack downloaded |
Brochure-Weddings | Wedding brochure downloaded |
Brochure-General | General info pack downloaded |
Data Tags
Applied for data origin and segmentation.
| Tag | When applied |
|---|---|
Data-Origin-ActiveCampaign | Data migrated from Active Campaign |
Data-Existing-Member | Existing member used to segment data |
Status Tags
Applied to track pipeline and lifecycle stage.
| Tag | When applied |
|---|---|
attempted-contact-1 | Lead entered Attempted Contact 1 stage |
attempted-contact-2 | Lead entered Attempted Contact 2 stage |
attempted-contact-3 | Lead entered Attempted Contact 3 stage |
status-no-response | Lead did not respond to the campaign |
status-replied | Lead responded to the campaign |
Campaign Tags
Applied when a contact enters a Lead Autopilot campaign.
Format: campaign-[start-date]-[campaign-name]
Examples:
campaign-03.26-womens-membershipcampaign-04.26-society-golfcampaign-05.26-visitor-day
Chatbot Tags
| Tag | When applied |
|---|---|
capture-chatbot | Lead generated via AI chatbot |
Custom Fields
All custom field keys use lowercase_snake_case.
Format: [field_name]
Custom fields are grouped into folders inside GHL. Name the folder clearly — it appears in the contact record.
Standard folders and fields:
| Folder | Field Label | Field Key | Type |
|---|---|---|---|
| Membership Details | CDH / England Golf Number | cdh_number | Text |
| Membership Details | Membership Category | membership_category | Dropdown |
| Membership Details | Membership Start Date | membership_start_date | Date |
| Membership Details | Proposer Name | proposer_name | Text |
| Membership Details | Seconder Name | seconder_name | Text |
| Member Preferences | Favourite Coffee | favourite_coffee | Text |
| Member Preferences | Preferred Golf Brand | preferred_golf_brand | Text |
| Member Preferences | Clothing Size — Top | clothing_size_top | Text |
| Member Preferences | Clothing Size — Trousers | clothing_size_trousers | Text |
| Member Preferences | Clothing Size — Shoes | clothing_size_shoes | Text |
| Member Preferences | Dietary Requirements | dietary_requirements | Text |
| Member Preferences | Favourite Club Hole | favourite_club_hole | Text |
| Member Preferences | Member Since (Year) | member_since_year | Text |
| Internal | Login Username | login_username | Text |
| Internal | GHL Sub-Account ID | ghl_subaccount_id | Text |
Any new custom fields must be added to this table and to the master spreadsheet before they go live.
Custom Values
Custom values are club-wide variables — they apply to the whole sub-account and are referenced in all email and automation copy.
All custom value keys use lowercase_snake_case.
Format in copy: {{custom_values.key_name}}
| Value Label | Key | Example Data |
|---|---|---|
| Club Name | club_name | Hadley Wood Golf Club |
| Short Club Name | club_name_short | Hadley Wood |
| Main Email | main_email | info@hadleywoodgolfclub.co.uk |
| Main Phone | main_phone | 01707 643756 |
| Membership Email | membership_email | membership@hadleywoodgolfclub.co.uk |
| GM Name | gm_name | Dom Bourke |
| GM Email | gm_email | dom@hadleywoodgolfclub.co.uk |
| Website URL | website_url | https://www.hadleywoodgolfclub.co.uk |
| Booking Page URL | booking_url | https://www.hadleywoodgolfclub.co.uk/book |
| Address | address | Beamount Road, Enfield, EN2 8RF |
| Map Link | map_link | https://maps.google.com/?q=... |
| Dress Code Link | dress_code_link | https://www.hadleywoodgolfclub.co.uk/dress-code |
Populate all custom values on day one of a new client build. Do not leave any blank.
Workflow Reference System
Every workflow in this library has a unique reference slug. References use a category prefix followed by a descriptive slug — they are not numbered, so new workflows can be added without renumbering existing ones.
Category Prefixes
| Prefix | Category | Description |
|---|---|---|
WF- | Website Forms | Public-facing forms on the club website |
MJ- | Membership Journey | Application, onboarding, and post-approval workflows |
MC- | Member Communications | Ongoing communications to the existing membership |
PT- | Platform Tools | AI and platform-level features |
Full Reference List
| Ref | Workflow | Page |
|---|---|---|
WF-contact-us | Contact Us Form | View |
WF-membership-enquiry | Membership Enquiry Form | View |
WF-referral | Member Referral Form | View |
WF-brochure-society | Society Golf Brochure Download | View |
WF-brochure-membership | Membership Brochure Download | View |
WF-brochure-wedding | Wedding & Events Brochure Download | View |
MJ-application | Membership Application Form | View |
MJ-new-member-form | Internal New Member Form | View |
MJ-onboarding | New Member Onboarding Sequence | View |
MJ-preferences | Member Preferences & Get to Know You | View |
MC-newsletter | Monthly Member Newsletter | View |
MC-birthday | Member Birthday Summary | View |
MC-renewals | Renewal Communications | View |
PT-chatbot | AI Chatbot | View |
Why slug-based refs, not numbers? Numbered refs (WF-01, WF-02) break when new workflows are inserted between existing ones — everything downstream needs renumbering. Slug-based refs are stable. Adding WF-brochure-events in future does not require changing any existing ref.
Email Naming
All emails use a reference ID that matches the workflow they belong to.
Format: E[workflow_number].[email_number] [Description]
Examples:
E01.1 Staff Alert — Contact UsE01.2 Customer Confirmation — Contact UsE07.1 Welcome — New Member OnboardingE07.2 Meet the Team — New Member Onboarding
The workflow number corresponds to the workflow reference in the master spreadsheet. The email number within a workflow is sequential starting at 1.
Staff alert emails always end with the description Staff Alert. Customer-facing emails describe what they do.
Brochure Download Emails (E03 series)
The three brochure download variants share the E03 series. Emails are numbered E03.1 through E03.6:
| Email ID | Description |
|---|---|
E03.1 Staff Alert — Society Brochure | Notifies the Society/Group Golf co-ordinator |
E03.2 Customer Delivery — Society Brochure | Delivers the society golf brochure PDF |
E03.3 Staff Alert — Membership Brochure | Notifies the Membership Manager |
E03.4 Customer Delivery — Membership Brochure | Delivers the membership brochure PDF |
E03.5 Staff Alert — Wedding & Events Brochure | Notifies the Events/Weddings co-ordinator |
E03.6 Customer Delivery — Wedding & Events Brochure | Delivers the weddings & events brochure PDF |
Pipelines
Pipeline names use title case and match the department name exactly as it appears in the club's organisational structure.
Standard pipeline names:
MembershipSociety / Group GolfEventsWeddingsGolf LessonsGreen FeesGeneral EnquiriesFacebook Leads(Lead Autopilot only)
Do not create custom pipeline names without James's sign-off. If a club has a department that doesn't fit the standard list, flag it before building.
Folders in GHL
Workflows and email templates are organised into folders inside each sub-account.
Workflow folders — format: [Club Code] — [Category]
Examples:
HW — Lead CaptureHW — OnboardingHW — Member CommsHW — InternalHW — Lead Autopilot
Keep each folder to a single category. Do not put lead capture workflows in the same folder as onboarding workflows.
Non-Negotiable Rules
- Club codes are assigned before building starts. Do not begin a new sub-account without a confirmed club code — everything else flows from it.
- Tags are never renamed after go-live. Renaming a tag breaks every filter, smart list, and workflow that references it. If a tag is wrong, add the correct one and migrate — never rename.
- Custom values must be populated before any workflow goes live. An email with a blank
{{custom_values.club_name}}is worse than no email at all. - New fields and tags go into the master spreadsheet immediately. Not after the build. Not after go-live. Immediately.
- Tags must never contain spaces or special characters. No spaces, no
&, no/, no brackets. These break GHL workflow conditions and cause automations to silently fail. Use dashes only —Interest-MembershipnotInterest Membership, neverInterest Membership & More. - If a convention isn't covered here, ask James. Do not invent naming schemes. One inconsistency compounds into dozens when you're duplicating across clients.