# GoHighLevel Events

> Reference of the GoHighLevel events that AnyTrack tracks, their default AnyTrack events, the pipeline stage mapping, and the opportunity data that AnyTrack records.

GoHighLevel reports two kinds of events to AnyTrack. The AnyTrack Tracking Tag collects web events on your funnel pages. GoHighLevel sends server-side events through the AnyTrack app. The [advanced events](#advanced-events) are server-side events that are unmapped by default. This page lists each event and its default AnyTrack event, and shows how pipeline stages and opportunities become conversions.

To set up the integration, see [GoHighLevel Integration](/docs/highlevel). To fix tracking problems, see [GoHighLevel Troubleshooting](/docs/gohighlevel-troubleshooting).

## Web Tracking Events

The AnyTrack Tracking Tag on your funnel collects these events. You cannot remap them.

| GoHighLevel Event   | AnyTrack Event     | Description                                                                                    |
| :------------------ | :----------------- | :--------------------------------------------------------------------------------------------- |
| `Form submit`       | `FormSubmit`       | When a visitor submits a form                                                                  |
| `Initiate Checkout` | `InitiateCheckout` | When a checkout page loads. On a 2-step form, when the visitor clicks the second-step button. |

## Server-Side Events

GoHighLevel sends these events to AnyTrack through the AnyTrack app.

| GoHighLevel Event         | AnyTrack Event     | Default Status | Description                                     |
| :------------------------ | :----------------- | :------------- | :---------------------------------------------- |
| `Contact created`         | `Lead`             | Enabled        | When a new contact is added to GoHighLevel      |
| `Appointment created`     | `Schedule`         | Enabled        | When a customer books an appointment or meeting |
| `Order created`           | `Purchase`         | Enabled        | When an order is completed (excludes upsells)   |
| `Order upsell created`    | `Upsell`           | Enabled        | When a customer purchases an upsell             |
| `Invoice created`         | `InitiateCheckout` | Enabled        | When an invoice is created                      |
| `Invoice fully paid`      | `Purchase`         | Enabled        | When an invoice is fully paid                   |
| `Opportunity created`     | `DealNew`          | Enabled        | When a new opportunity is created in a pipeline |
| `Opportunity status: won` | `DealWon`          | Enabled        | When an opportunity status is changed to won    |

If one sale produces several purchase-type events (an order bump, an upsell, or a downsell), turn on Combine Order. See [Turn On Combine Order for Order Bumps and Upsells](/docs/highlevel#turn-on-combine-order-for-order-bumps-and-upsells).

## Advanced Events

These events are unmapped by default. To track one of these events, map it to an AnyTrack event in the integration settings.

| GoHighLevel Event          | Default Status | Description                                                                                                        |
| :------------------------- | :------------- | :----------------------------------------------------------------------------------------------------------------- |
| `Invoice sent`             | Unmapped       | When an invoice is sent to the client                                                                              |
| `Invoice partially paid`   | Unmapped       | When an invoice is partially paid. The last payment triggers `Invoice fully paid` instead, with the full amount. |
| `Opportunity status: open` | Unmapped       | When an opportunity is opened or reopened                                                                          |
| `Pipeline stage changes`   | Unmapped       | Individual stage transitions within your pipelines (see Pipeline and Opportunity Tracking below)                  |

## How Event Mapping Works

Event mapping in AnyTrack has two steps:

1. **GoHighLevel to AnyTrack.** Each GoHighLevel event maps to an AnyTrack event (standard or custom). After you map the event, it appears in your AnyTrack dashboard and reports. It also appears in the ad platform event mapping section.
2. **AnyTrack to ad platforms.** You can map each AnyTrack event to an ad platform event (standard or custom).

AnyTrack maps standard events such as `Purchase`, `Lead`, and `Schedule` to the matching standard events of your ad platforms automatically. Custom events such as `DealNew` and `DealWon` appear in the ad platform mapping section. You must map a custom event before AnyTrack sends it to your ad platforms. On Starter and above, AnyTrack sends mapped events through the [Conversion API](/docs/conversion-api). See [Event Mapping](/docs/event-mapping).

## Pipeline and Opportunity Tracking

AnyTrack tracks deal progress in your GoHighLevel pipelines as conversion events. Use pipeline tracking when your sales close in a pipeline and not on a checkout page. For example, a service business or an agency closes its sales in a pipeline.

### How Pipeline Stages Map to Events

When you connect the AnyTrack app, AnyTrack gets your GoHighLevel pipelines and their stages. AnyTrack then creates one mapping entry for each stage in your integration settings. Each entry is unmapped by default. Select an AnyTrack event for each stage that you want to track.

For example, a "Sales Pipeline" has the stages New Lead, Qualified, Proposal Sent, and Closed Won. AnyTrack creates four mapping entries. Map Closed Won to `Purchase` or to a custom event. On Starter and above, AnyTrack then sends the event to your ad platforms.

### Opportunity Data

When GoHighLevel reports an opportunity event, AnyTrack records this data with the event:

* **Monetary value** — the deal amount, which AnyTrack sends as the conversion value
* **Contact data** — email, phone, name, city, and country, for enhanced matching
* **Opportunity details** — the opportunity name and ID

On Starter and above, AnyTrack sends this data to your ad platforms. With the deal value, your ad platforms can optimize campaigns on revenue, not only on lead counts.

<Callout icon="📘" theme="info">
**Custom Events Require Manual Ad Platform Mapping**

Pipeline stage events are unmapped by default. Map a stage to an AnyTrack event in the GoHighLevel integration settings. `Opportunity created` and `Opportunity status: won` default to the custom events `DealNew` and `DealWon`. A custom AnyTrack event reaches an ad platform only after you map it in that ad platform's integration settings in AnyTrack.
</Callout>

<FaqAccordion
  title="FAQ"
  icon="fa-duotone fa-circle-question"
  items={[
    {
      question: "How do I change which AnyTrack event a GoHighLevel action triggers?",
      answer: "Open your GoHighLevel integration settings in AnyTrack and change the Event Mapping. For example, you can change <code>Contact created</code> from Lead to CompleteRegistration, or map a pipeline stage to a custom event."
    },
    {
      question: "How do I track a sale when the invoice is paid outside GoHighLevel (wire, bank transfer, or cash)?",
      answer: "Mark the invoice as fully paid in GoHighLevel. When the payment arrives, record it against the invoice. GoHighLevel then triggers the <code>Invoice fully paid</code> event, for checkout payments and for payments you record manually. AnyTrack records the event as a <code>Purchase</code> with the invoice value. You do not need a separate Custom or Postback URL integration. If you track deals as pipeline opportunities, you can instead move the opportunity to a Won stage. GoHighLevel then triggers <code>Opportunity status: won</code> (DealWon). Map DealWon to Purchase in your Event Mapping. In both cases, attribution needs the original click ID on the contact. Add the <code>_atid</code> field to the funnel form, or pass the click ID into the contact's <code>_atid</code> custom field for external forms."
    },
    {
      question: "How does AnyTrack track a split-pay invoice with several instalments?",
      answer: "GoHighLevel triggers <code>Invoice partially paid</code> for each instalment before the last one. That event is unmapped by default, so AnyTrack does not record those instalments and your ad platforms do not receive them. The last payment triggers <code>Invoice fully paid</code> instead, with the full invoice amount. AnyTrack records that event as one <code>Purchase</code> for the full invoice value, not for the instalment value. To record the earlier instalments, map <code>Invoice partially paid</code> under Advanced Events in the integration settings."
    },
    {
      question: "Why are my pipeline stage events not showing in Facebook Ads?",
      answer: "Pipeline stage events are unmapped by default. First, map the stage to an AnyTrack event in the GoHighLevel integration settings. If you map the stage to a custom AnyTrack event, map that custom event in your Facebook Ads integration settings in AnyTrack. A custom event does not reach Facebook Ads until you map it. AnyTrack sends events to Facebook Ads on Starter and above."
    }
  ]}
/>

<Cards columns={2}>
  <Card title="GoHighLevel Integration" href="/docs/highlevel" icon="fa-plug" iconColor="blue-500">
    Set up the GoHighLevel integration and the Click ID field on your forms.
  </Card>

  <Card title="GoHighLevel Troubleshooting" href="/docs/gohighlevel-troubleshooting" icon="fa-list-check" iconColor="blue-500">
    Fix Unknown leads, IP-match errors, and missing conversions.
  </Card>

  <Card title="Event Mapping" href="/docs/event-mapping" icon="fa-route" iconColor="blue-500">
    Map AnyTrack events to standard or custom events on each ad platform.
  </Card>

  <Card title="Combined Orders" href="/docs/combined-orders" icon="fa-cart-shopping" iconColor="blue-500">
    Group a main product and its upsells into one order.
  </Card>
</Cards>
