# Funnel Page Tracking

> Learn how to track your sales funnel pages on WordPress and Elementor with AnyTrack. Covers automatic page view tracking, Calendly booking attribution via server-side tracking, and validation using the Tracking Tag Helper extension and event logs.

This guide covers how to track a common sales funnel on WordPress and Elementor: a VSL landing page, a booking page, and Calendly scheduling. Each step is tracked automatically once the AnyTrack Tag and Calendly integration are configured.

<Prerequisites
  title="Before you begin"
  items={[
    { label: "You have an active AnyTrack property", done: true },
    { label: "The AnyTrack Tag is installed on your WordPress site", done: true },
    { label: "You have connected your Calendly account in AnyTrack", done: true },
    { label: "You have connected at least one ad platform in AnyTrack", done: true },
  ]}
/>

> 📘 **AnyTrack**
>
> The easiest way to load the AnyTrack Tag across your entire WordPress site is to install the <a href='/docs/wordpress'>AnyTrack Affiliate Link Manager</a> plugin. It works with any WordPress setup including Elementor. See all <a href='/docs/wordpress-integrations-options'>WordPress installation options</a>.

## How Funnel Tracking Works

A typical sales funnel on WordPress and Elementor looks like this:

1. **VSL or Landing Page** — The visitor watches your video or reads your offer.
2. **Book a Call Page** . The visitor clicks through to a page with your Calendly link or embed.
3. **Calendly Scheduling** . The visitor books a meeting directly in Calendly.

AnyTrack tracks each of these steps automatically once the Tag and Calendly integration are set up. There is no need to add custom code to individual pages or build "thank you" pages for confirmation.

| Funnel Step | What AnyTrack Tracks | How It Works | Event Name |
|---|---|---|---|
| VSL or Landing Page | Page view | AnyTrack Tag fires automatically on every page load | `PageView` |
| Book a Call Page | Page view and outbound click | Tag tracks the page view and the click to your Calendly link | `PageView`, `OutboundClick` |
| Calendly Scheduling | Meeting booked | Calendly sends booking data to AnyTrack via server-side API | `Lead` (default) |

> ❗ **No**
>
> AnyTrack receives Calendly booking data directly from the Calendly API via server-side tracking. This is more reliable than page-based tracking because it works even if the visitor closes the browser, navigates away, or books from a different device.

## Step 1: Verify the AnyTrack Tag Is Loaded

If you installed the AnyTrack Affiliate Link Manager plugin or added the Tag via Elementor Custom Code, the Tag is already running on every page of your site. Page views are tracked automatically . no extra configuration needed.

To confirm the Tag is active, open any page on your site and launch the <a href='/docs/anytrack-chrome-extension'>AnyTrack Pixel Helper</a> Chrome extension. You should see the Tag detected with a green status.

## Step 2: Connect Calendly in AnyTrack

If you have not connected Calendly yet, follow these steps:

1. Go to the <a href="https://dashboard.anytrack.io/catalog/calendly">Integration Catalog</a> and click **Install** on the Calendly card.
2. In your Calendly account, generate a Personal Access Token and copy it.
3. Paste the token in AnyTrack and click **Connect**.

AnyTrack automatically creates a webhook with Calendly. When a visitor books a meeting, Calendly sends the booking data to AnyTrack in real time.

For the full setup guide, see <a href='/docs/calendly'>Calendly Integration</a>.

## Step 3: Check That Calendly Links Are AutoTagged

AnyTrack automatically identifies Calendly links on your pages and appends tracking parameters (`sfid` and `click_id`) so that bookings can be attributed back to the original visitor session.

This works whether your Calendly link is a direct URL, a button, or an embedded scheduling widget. If you embed Calendly using an iframe, add the tracking group attribute to ensure proper AutoTagging:

```html
<iframe src="https://calendly.com/your-account/meeting"
  data-tracking-group="calendly"
  width="100%" height="1200" style="border:none;">
</iframe>
```

Learn more about <a href='/docs/autotag'>AutoTag</a> and <a href='/docs/tgid'>Tracking Groups</a>.

## Step 4: Optional . Add a ViewContent Event

Page views are tracked automatically, but if you want to send a specific `ViewContent` event to your ad platforms (for example, to create a custom audience of people who viewed your VSL page), you can add a small code snippet to that page.

In your WordPress dashboard, go to **Elementor > Custom Code**, create a new snippet, and set the display condition to the specific page:

```javascript
<script>
  AnyTrack('trigger', 'ViewContent', {
    label: 'VSL Page'
  });
</script>
```

This is optional. Use it only if you need ad platforms to receive a named conversion event beyond the automatic `PageView`.

For more on custom events, see <a href='/docs/custom-events'>Custom Event Tracking</a>.

## Validate Your Setup

### Page views and outbound clicks

1. Open your VSL or landing page in the browser.
2. Launch the <a href='/docs/anytrack-chrome-extension'>AnyTrack Pixel Helper</a> Chrome extension.
3. Confirm the Tag is detected and a `PageView` event has fired.
4. Click your Calendly link on the booking page and confirm an `OutboundClick` event appears in the Tracking Tag Helper.

### Calendly bookings

1. Complete a test booking through your Calendly scheduling page.
2. In your AnyTrack dashboard, go to the <a href='/docs/integration-event-log'>Integration Event Log</a> for Calendly.
3. Confirm that a `Lead` event (or your custom event name) appears with the correct `click_id` and visitor data.

> 📘 **Event**
>
> By default, AnyTrack maps Calendly bookings to the `Lead` event. You can change this in the Calendly integration settings under Event Mapping. If you use a custom name, update the corresponding event mapping on your ad platform integrations.

***

## Related Resources

- [Conversion Tracking Revenues](/docs/conversion-tracking-revenues)
- [Cross Domain Tracking](/docs/cross-domain-tracking)
- [Custom Event Tracking](/docs/custom-events)

<FaqAccordion
  title="FAQ & Troubleshooting"
  items={[
    {
      question: "Do I need to add tracking code to every funnel page?",
      answer: "No. The AnyTrack Tag tracks page views automatically on every page where it is installed. If you use the AnyTrack WordPress plugin, the Tag loads site-wide with no extra code needed."
    },
    {
      question: "Do I need a confirmation or thank-you page after Calendly booking?",
      answer: "No. AnyTrack receives booking data directly from Calendly via server-side API tracking. This is more accurate than page-based tracking and works even if the visitor closes the browser after booking."
    },
    {
      question: "What if my Calendly link is embedded as an iframe?",
      answer: "AnyTrack detects embedded Calendly scheduling pages automatically. If AutoTag does not detect the iframe, add data-tracking-group=\"calendly\" to the iframe HTML tag. See the Calendly integration guide for details."
    },
    {
      question: "How do I track different funnel steps as separate conversion events?",
      answer: "Page views are tracked automatically. To send named events like ViewContent to ad platforms, add an AnyTrack trigger snippet to the specific page using Elementor Custom Code. See the Custom Event Tracking guide for syntax."
    },
    {
      question: "Which ad platforms receive the funnel data?",
      answer: "All ad platforms connected in your AnyTrack account receive the conversion data. This includes Google Ads, Facebook Conversion API, TikTok, and any other connected platform. Standard events like Lead are mapped automatically."
    }
  ]}
/>
