Contacts

Build and manage your course contact database — the foundation for campaigns, outreach, and retention.

The CourseContact Database

Every person who interacts with your course is tracked as a CourseContact. This is your CRM — the master list of everyone who has played, registered, subscribed, or been added manually. Contacts power your email campaigns, lead tracking, and reporting.

Contact Sources

Each contact has a source that records how they entered your database. This helps you understand which channels drive the most engagement.

TEE_TIME
Auto-created when a player books or is booked into a tee time — including guests who provide a name and email.
OUTING
Auto-created when someone registers for a corporate event or tournament at your course.
LEAGUE
Auto-created when a player joins a league that plays at your venue.
NEWSLETTER
Created when someone signs up through your public newsletter form or site opt-in.
MANUAL
Added by a staff member directly through the dashboard. Use this for contacts from phone calls, in-person conversations, or outside lists.
WALK_IN
Added at the pro shop or check-in desk for players who walk in without a reservation.

Contact Fields

Each CourseContact stores the following information:

  • Email: The primary identifier. Must be unique per contact within your org.
  • Name: First and last name, pulled from booking data or entered manually.
  • Phone: Optional phone number for direct outreach.
  • Tags:Custom labels for segmenting contacts (e.g., "member," "corporate," "league-player," "VIP").
  • Total Rounds: Running count of rounds played at your course.
  • First Seen:Timestamp of the contact's first interaction.
  • Last Seen:Timestamp of the contact's most recent interaction — updated on every tee time check-in or event attendance.

Auto-Population

Contacts are created automatically from tee times, outings, and leagues. When a guest books a tee time or registers for an event, their name and email are captured and a new CourseContact is created with the appropriate source. If the email already exists, the existing contact is updated with the latest interaction timestamp and round count.

Tip
Let auto-population do the heavy lifting. Every tee time booking, outing registration, and league join grows your contact list without any manual work from your staff.

Opt-In Tracking

Each contact has an opt-in flag that tracks whether they've consented to receive marketing emails. Contacts created through newsletter sign-ups are opted in by default. Contacts from tee times and outings are opted in only if they check the marketing consent box during booking. Campaigns only send to opted-in contacts.

Warning
Respect opt-in status. Sending to contacts who haven't opted in can trigger spam complaints and hurt your email deliverability. The campaign system automatically filters out opted-out contacts.

Tagging & Segmenting

Tags let you slice your contact list into meaningful segments. Apply tags manually or set rules to auto-tag based on behavior — for example, auto-tag anyone who has played 10+ rounds as "loyal" or tag all outing registrants as "corporate."

When creating campaigns, you target contacts by tag. This means you can send a promo to "corporate" contacts, a loyalty offer to "VIP" contacts, or a welcome series to "newsletter" sign-ups — all from the same contact database.

Bulk Import

Have an existing email list? Use the bulk import tool to upload a CSV with email, name, phone, and tags columns. The importer de-duplicates by email, skipping contacts that already exist and creating new records for the rest. All imported contacts are given the MANUAL source.

Note
Bulk imports default to opted-in. If your CSV includes contacts who haven't explicitly opted in, manually update their opt-in status after import to stay compliant.