Skip to main content

Milestones

Learn more about what Milestones are and why they are so useful.

Written by Michael Stephenson

Overview

Milestones are date-stamped records of the pivotal moments in a student's journey—from first inquiry all the way through enrollment and graduation. Element451 uses milestones to power funnel reporting, segmentation, workflows, and the timeline you see on every contact profile.

Every external contact in Element451 accumulates a list of milestones over time. Each milestone captures what happened, when it happened, and the academic context around it—term, major, student type, and (where relevant) the specific application it relates to.

Milestones serve three jobs:

  • Reporting—they're the backbone of funnel reports (Suspects → Prospects → Applicants → Admits → Deposits → Enrolled).

  • Segmentation—you can build segments on any milestone's properties (e.g. anyone admitted to Fall 2026 for Nursing).

  • Automation—milestones trigger workflows and rules, and workflows can also create milestones.


Key Concepts

Automatic vs. Manually-Generated

Most milestones are created automatically by the system as a student moves through your funnel. For example, Element451 drops a Date of Inquiry milestone the first time a contact submits a Prospect form, and a Deposited Date milestone the moment they pay a deposit. You can also add or backfill milestones yourself from the contact profile, through workflows, via a bulk import, or via the API.

A few milestones—Created Date, Hard Bounced Email Date, Hard Bounced SMS Date—are system-only and cannot be created or edited by users in the dashboard.

The Metadata Model

Every milestone has three core fields:

  • Type—what the milestone represents (Admitted, Deposited, etc.)

  • Date—when it happened

  • Name—the source that generated it (e.g. Client Import, Decision451, Element451 App, Dashboard)

In addition, the application-related milestones share a unified set of academic metadata fields:

  • Application (which application this milestone relates to)

  • Application Type (Internal or External)

  • Term

  • Major

  • Student Type

This unified set ensures Student Type, Major, Term, and Application are consistently available across every application-stage milestone (Application Start, Application Complete, Application Submit, Admitted, Conditional Admit, Denied, Waitlisted, Withdrawn, Deferred, Deposited, Hold, Checklist Complete). A handful of milestones have additional fields specific to their type—reason for withdrawal, status on Deposit and Enroll, interviewer for Interviews, etc. See the reference table below for the exact field list per milestone.

📙 Note: When a milestone is auto-generated by an application event (start, complete, submit, decision, deposit), Element451 copies the academic metadata directly from the application record. If the application has no term or major set yet, the milestone will be missing those values too.

Milestones and Funnel Stages

Element451 computes a contact's funnel stage from their milestones in this order of precedence:

  1. Deposit—any DEPOSIT milestone present

  2. Admit—any ADMIT milestone present (and no Deposit)

  3. Prospect—any PROSPECT milestone present (and no Admit/Application activity)

  4. Suspect—only a CREATED milestone (no Prospect, no Application activity)

The same precedence drives the Suspects, Prospects, Applicants In Progress, Applicants Submitted, Admits, Conditional Admits, Deferred, Hold, Denied, Waitlisted, Withdrawn, Deposits, and Enrolled segment filters under "Are."

Pro Tip: Funnel stage is derived, not stored. Adding or removing a milestone immediately changes how that contact is counted in funnel reports and segments.


Full Reference of Milestone Types

The table below lists every milestone type, who creates it, what triggers it, and the metadata available on it. Application-stage milestones share the unified set: Application, Application Type, Term, Major, Student Type.

Milestone

Description

Auto/Manual

Trigger source(s)

Metadata fields

Date of Inquiry (PROSPECT)

The first time a contact submits an Element451 form, lands on a campaign landing page, or clicks an email link.

Auto + Manual

Element451 forms, landing pages, email clicks, Client Import, Dashboard

Term, Major, Student Type

Application Start Date (APPLICATION_START)

A contact begins an Element451 application (creates a registration).

Auto + Manual

Element451 App, Spark App, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Application Complete Date (APPLICATION_COMPLETE)

The application reaches 100% completion (all required steps filled in, before submit).

Auto + Manual

Element451 App, Spark App, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Application Submit Date (APPLICATION_SUBMIT)

The applicant officially submits the application.

Auto + Manual

Element451 App, Spark App, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Checklist Complete Date (CHECKLIST_COMPLETE)

All required checklist items for an application have been received/verified.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type, Decision

Application Decision Date (APPLICATION_DECISION)

A decision was recorded on a specific application.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type, Decision

Interview Date (INTERVIEW)

An interview took place.

Manual

Client Import, Dashboard, Workflow

Interviewer, Term, Major

Visit Date (VISIT)

The contact visited campus or attended an event.

Auto + Manual

Event451 (event check-in), First Visit, Last Visit, Workflow

Name (First Visit / Last Visit / Event451)

Admitted Date (ADMIT)

The contact was admitted on a specific application.

Auto + Manual

Decision451 (decision released as Admitted), Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Conditional Admitted Date (CONDITIONAL_ADMIT)

Admitted with conditions (decided-offer).

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Deny Date (DENIED)

The contact was denied admission.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Waitlist Date (WAITLIST)

The contact was placed on the waitlist.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Defer Date (DEFERRED)

The decision was deferred to a future review.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type

Hold Date (HOLD)

The application was placed on hold.

Auto + Manual

Decision451, Client Import, Dashboard

Term, Major

Withdrawn Date (WITHDRAW)

The contact withdrew from the application or process.

Auto + Manual

Decision451, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type, Reason

Deposited Date (DEPOSIT)

The contact paid their enrollment deposit.

Auto + Manual

Deposit Page, Client Import, Dashboard

Application, Application Type, Term, Major, Student Type, Deposit Status (Active/Inactive)

Enrolled Date (ENROLL)

The contact enrolled (post-deposit confirmation).

Auto + Manual

Client Import, Dashboard, Workflow

Term, Major, Student Type, Enrollment Status (Active/Inactive)

Graduate Date (GRADUATE)

The student graduated.

Manual

Client Import, Dashboard

Term, Major, Degree

Email Unsubscribe Date (UNSUBSCRIBE_EMAIL)

The contact unsubscribed from email.

Auto + Manual

Email Click (unsubscribe link), Spam Complaint, Client Import, Dashboard

Email

SMS Unsubscribe Date (UNSUBSCRIBE_SMS)

The contact unsubscribed from SMS (e.g. replied STOP).

Auto + Manual

Campaigns (inbound STOP), Client Import, Dashboard

Number

Hard Bounced Email Date (HARDBOUNCE_EMAIL)

A campaign email hard-bounced to that contact's address.

System only

Campaigns, Soft Bounce Limit, Client Import

Email (read-only)

Hard Bounced SMS Date (HARDBOUNCE_SMS)

A campaign SMS hard-bounced to that contact's number.

System only

Campaigns, Client Import

Number, Code, Description (read-only)

Created Date (CREATED)

The contact record was created.

System only

All record creation paths

📙 Note: A contact can have multiple milestones of the same type—for example, separate Admitted Date entries for two different applications, or repeated Visit Date entries for each campus visit. Milestones are not deduplicated by type, except for PROSPECT, which only fires once per contact.


Viewing Milestones on the Contact Profile

📙 Note: You must have a milestones card displayed on your profile template. Learn more about Bolt Profile Templates.

  1. Navigate to Contacts > People or use the search bar in the top right corner to search the student's name.

  2. Click on their name to open the profile.

  3. Look for the Milestones card on the user profile. You can also search for it using the search bar.

  4. The card shows the most recent milestones along with the total milestone count in the header badge. To expand the full list, click the arrow in the card header or the More button at the bottom.

  5. The expanded view shows all milestones, sorted by date, with their full metadata.


Adding a Milestone Manually

From the contact profile:

  1. On the Milestones card, click the + icon in the top right—or click the blue Add Milestone button from the Bolt Sheet.


  2. In the Add Milestone side panel, select a Milestone Type from the dropdown. The form will adjust to show the fields available for that type.

  3. Select a Source / Name (e.g. Dashboard). The available names depend on the milestone type.

  4. Set the Date (and optionally a time). Defaults to today.

  5. Fill in any additional fields—Application, Term, Major, Student Type, etc.

  6. Click Save.

📙 Note: Milestone types reserved for the system—Created, Hard Bounced Email, Hard Bounced SMS—do not appear in the Type dropdown.

Pro Tip: Setting the Application field auto-links the milestone to a specific application record. This is what lets you build segments like "Admitted on the Fall 2026 application but not yet deposited."


Editing + Deleting Milestones

  1. Click the three dots to the right of the milestone you wish to edit or delete.

  2. Select Edit or Delete.

  3. When editing, you can adjust any field—including the date, source name, and metadata. The milestone type itself can also be changed, though this is uncommon.

📙 Note: Deleting a milestone may change the contact's funnel stage and remove them from any segment that depended on that milestone. For example, deleting the only Deposited Date milestone moves the contact back to Admit.


Bulk Importing Milestones

You can backfill milestones in bulk through Imports + Exports. Milestones use a dedicated import type and support all metadata fields (Date, Term, Major, Student Type, Application, etc.). Imported milestones are stamped with the source name Client Import so you can tell them apart from system-generated ones.


How Milestones Power Downstream Features

Funnel reporting. Element451 computes each contact's funnel stage in real time from their milestones using the precedence rules above (Deposit > Admit > Prospect > Suspect). Add or remove a milestone and the funnel report updates immediately.

Segmentation. Under Segments > Are, the funnel-stage filters (Are Prospects, Are Applicants In Progress, Are Admits, Are Deposits, Are Enrolled, etc.) are all milestone-driven. There's also a generic Milestone (All Properties) filter that lets you target any combination of Type, Name, Term, Major, Application, Student Type, Date, Deposit Status, or Enrollment Status.

Workflows and rules. Workflows include Set Milestone actions for nearly every milestone type. Rules and workflows can also be triggered by milestone changes, which is the standard pattern for sending an admit communication, a deposit confirmation, or a checklist-complete email. Learn more about triggers.

Profile filtering and reporting. Milestone dates surface as filterable date fields throughout Engage, Bolt analytics, and exports. Mappings exist for every milestone-specific date and metadata field, so they're available in custom dashboards and downloads.


FAQ

Why does a contact have two of the same milestone?

Most milestone types allow multiple entries. A contact with two applications will have two Admitted Date milestones if both are admitted. The only milestone that's deduplicated is Date of Inquiry—a contact only ever has one.

Why is the Date of Inquiry blank for an imported contact?

Imports don't auto-create a Prospect milestone—you need to include a Date of Inquiry column in the import, or backfill via a workflow. See the Importing Milestones article.

Why didn't a workflow fire when a milestone was added?

Make sure the workflow trigger is configured for the right milestone type and name combination. A "Decision451" admit and a "Client Import" admit are both ADMIT milestones, but workflows can be scoped to specific source names.

Can I edit a system-generated milestone like Hard Bounced Email?

No. Hard bounce and Created milestones are read-only by design—they record what the system observed and shouldn't be edited.

Does deleting a Prospect milestone reset a contact to "Suspect"?

Yes—if no other qualifying milestone exists. Funnel stage is derived from the current set of milestones, so removing one can move the contact backwards.

Can I create custom milestone types?

No. The list of milestone types is fixed. For custom journey tracking, use Labels, Activities, or custom fields.

How do milestones interact with Salesforce or other external systems?

Native integrations write to milestones the same way the dashboard does. You can also create or update milestones through the Zapier integration or directly via the API.

Did this answer your question?