Site tracking is the feature that separates basic email marketing from true behavioral marketing. Instead of guessing what your contacts care about based on which emails they open, you can see exactly which pages they visit on your website - and act on that data automatically. Someone reads your pricing page three times in a week? That is a buying signal your sales team needs to know about. A contact browses help documentation for a feature they have not purchased? That is an upsell opportunity you would miss without tracking.
ActiveCampaign site tracking monitors every page visit from known contacts and feeds that behavioral data directly into your automations, lead scoring, and segmentation. It is one of the platform’s most powerful features - and one of the most underused, because most users never get past the installation step. ActiveCampaign holds across major review platforms, and site tracking is a key reason power users rate it so highly.
This guide walks through the complete site tracking setup in about 25 minutes. You will find your tracking code, install it on your website, understand how visitor identification works, verify the installation, and build automations triggered by page visits. By the end, your website will be feeding real-time browsing data into your marketing automation.

How ActiveCampaign Site Tracking Powers Behavioral Marketing
ActiveCampaign site tracking records every page visit from identified contacts and feeds the data into your automations, lead scoring, and segmentation. It is the bridge between anonymous web analytics and one-to-one marketing - and the feature that separates basic email marketing from true behavioral marketing. This guide walks through the practical steps from setup through advanced optimization.
Site tracking is a JavaScript snippet that runs on your website and records which pages your contacts visit. Unlike an ActiveCampaign Google Analytics integration that aggregates anonymous traffic data, every time a known contact loads a page on your site, ActiveCampaign logs the URL, timestamp, and visit duration directly on their contact record. This behavioral profile tells you what each contact is interested in and where they are in their buying journey.
Page visits power automation triggers. You can trigger a sales follow-up when someone visits your pricing page, send a case study when someone reads a product feature page, or tag contacts who browse specific sections of your site. The ActiveCampaign site tracking app feeds this data as the input that drives your entire automation strategy and pairs naturally with ActiveCampaign’s marketing automation engine.
Lead scoring gets real signals. Without site tracking, lead scoring relies on email engagement and form submissions alone. With tracking active and ActiveCampaign cookies set in each visitor’s browser, you can award points for high-intent pages (pricing, demo request, comparison pages) and lower points for informational browsing. Site tracking data makes your lead scores actually predictive. For a full walkthrough of scoring configuration, see the ActiveCampaign lead scoring guide.
Segmentation becomes behavioral. Instead of segmenting by form responses, segment by actions - “visited pricing page in last 7 days,” “viewed product page but not pricing page,” or “active on site but has not opened an email in 30 days.” These behavioral segments drive far more targeted email marketing campaigns and pair well with ActiveCampaign’s email marketing tools.
Prerequisites
Before starting the setup, make sure you have these items in place so you can move through the process without stopping.
An ActiveCampaign account on the Plus plan or higher. Site tracking is not available on the Starter plan. You need at least the Plus plan ($49/month) - see the ActiveCampaign pricing page for current tier details and what each plan unlocks. If you are on the Starter plan, you can upgrade from Settings > Billing. If you do not have an account yet, start with the 14-day free trial which gives you access to all features including site tracking. Compare all tiers on the pricing page.
Admin or developer access to your website. You will need to add a JavaScript snippet to your website’s HTML. This means access to your theme files, a tag manager like Google Tag Manager, or a CMS that allows custom code injection. If you are on WordPress, you can use the official ActiveCampaign plugin instead of manually adding code.
Basic HTML or CMS knowledge. You need to know where to paste a script tag in your website’s code. If you use a tag manager or CMS with a custom code field, you just need to know where that field is. If you are editing theme files directly, you need to find the closing </body> tag.
HTTPS enabled on your website. Site tracking requires your site to load over HTTPS. Most modern hosting providers include free SSL certificates, but verify your site loads with https:// in the address bar before proceeding. The tracking script will not function correctly on HTTP-only pages.
At least one contact in your ActiveCampaign account. You need a contact record with an email address you control so you can test the tracking installation. If you are starting fresh, add yourself as a contact under Contacts > Add a Contact.
Where Do You Find Your ActiveCampaign Tracking Code?
The site tracking code is a short JavaScript snippet unique to your ActiveCampaign account. Every account has a different tracking ID embedded in the code, so you need to copy yours directly from your account settings.
Step 1: Open your ActiveCampaign account settings. Log in to your ActiveCampaign account and click the gear icon in the bottom left corner to open Settings.
Step 2: Navigate to the Tracking section. In the settings menu, click Tracking. You will see a page with tabs for Site Tracking, Event Tracking, and Conversion Tracking. Make sure you are on the Site Tracking tab.
Step 3: Enable site tracking. If site tracking is not already enabled, toggle it on. You will see a status indicator showing whether tracking is active or inactive.
Step 4: Copy the tracking code. Below the toggle, ActiveCampaign displays your unique tracking code. It looks something like this:
<script type="text/javascript">
(function(e,t,o,n,p,r,i){e.visitorGlobalObjectAlias=n;e[e.visitorGlobalObjectAlias]=e[e.visitorGlobalObjectAlias]||function(){(e[e.visitorGlobalObjectAlias].q=e[e.visitorGlobalObjectAlias].q||[]).push(arguments)};e[e.visitorGlobalObjectAlias].l=(new Date).getTime();r=t.createElement("script");r.src=o;r.async=true;i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)})(window,document,"https://diffuser-cdn.app-us1.com/diffuser/diffuser.js","vgo");
vgo('setAccount', 'YOUR_ACCOUNT_ID');
vgo('setTrackByDefault', true);
vgo('process');
</script>
Click the Copy button next to the code block to copy it to your clipboard. The YOUR_ACCOUNT_ID value in the code is your unique account identifier - do not change it.
Installing the Tracking Code
There are several ways to add the tracking code to your website depending on your platform and preferences. Choose the method that matches your setup.
Manual HTML Installation
This method works on any website where you can edit the HTML source code directly.
Step 1: Open your website’s main template file. This is the file containing the <html>, <head>, and <body> tags shared across all pages - typically called index.html, footer.php, or base.html depending on your framework.
Step 2: Paste the tracking code before the closing body tag. Find the </body> tag at the bottom of your template file and paste the tracking code directly above it. Placing it here ensures the script loads after your page content renders.
Step 3: Save and deploy. Save the file and push the changes to your live site.
WordPress Plugin Method
If you run WordPress, the official ActiveCampaign plugin handles site tracking installation automatically.
Step 1: Install the ActiveCampaign plugin. Navigate to Plugins > Add New in your WordPress admin. Search for “ActiveCampaign” and install the official plugin by ActiveCampaign, Inc. Activate it after installation.
Step 2: Connect your account. Go to Settings > ActiveCampaign and enter your API URL and API Key. Find these under Settings > Developer in your ActiveCampaign account.
Step 3: Enable tracking in the plugin. In the plugin settings, check the box for “Enable Site Tracking.” The plugin will automatically add the tracking code to every page of your WordPress site without any theme file editing.
Google Tag Manager Method
Google Tag Manager (GTM) is ideal if you already use it to manage marketing scripts on your site.
Step 1: Create a new tag. Log in to your GTM account and navigate to your website’s container. Click Tags > New and name the tag “ActiveCampaign Site Tracking.”
Step 2: Configure the tag. Choose Custom HTML as the tag type. Paste your ActiveCampaign tracking code into the HTML field.
Step 3: Set the trigger. Click the trigger section and select All Pages. This ensures the tracking code fires on every page load.
Step 4: Publish the container. Click Submit in the top right corner to publish your updated container. The tracking code will start loading on your site once the updated container is live.
Shopify and Other CMS Methods
Most modern CMS platforms have a designated area for adding custom tracking scripts.
Shopify: Navigate to Online Store > Themes > Edit Code and open the theme.liquid file. Paste the tracking code before the closing </body> tag. Alternatively, go to Settings > Customer Events for a script-based approach.
Squarespace: Go to Settings > Advanced > Code Injection and paste the tracking code in the Footer field.
Wix: Use the Wix Code panel or navigate to Settings > Custom Code and add the tracking script to the body end position.
Webflow: Open your project settings, go to the Custom Code tab, and paste the tracking code in the Footer Code field. The Webflow custom code lesson covers placement options in detail.
How Visitor Identification Works
Installing the tracking code is only half the equation. The tracking script records page visits, but it needs to identify who the visitor is before it can log that data to a contact record. Understanding this identification process helps you set realistic expectations and optimize your tracking coverage.
Cookie-based identification. When someone is identified as an ActiveCampaign contact, the tracking script sets a first-party cookie in their browser. From that point forward, every page they visit is logged to their contact record automatically. The cookie persists across sessions, so return visits days or weeks later are still tracked - as long as the visitor uses the same browser and has not cleared their cookies.
Email click identification. The most common identification method. When a contact clicks a tracked link in your email campaign or automation, ActiveCampaign appends a unique identifier to the URL. The tracking script reads this identifier, sets the cookie, and begins logging page visits. This is automatic and requires no additional setup.
Form submission identification. When a visitor submits an ActiveCampaign form on your website, the tracking script identifies them immediately and begins tracking their browsing activity. This is especially important for new contacts who have never received an email from you - the forms setup guide covers form placement strategy.
Known vs unknown visitors. The tracking script fires on every page load, but data is only logged to a contact record when the visitor is known. Unknown visitors generate anonymous data that cannot be associated with a contact. Once identified through any method, ActiveCampaign retroactively associates past visits from that browser session with their contact record.
Maximizing identification rates. Send emails with links to your website regularly, place ActiveCampaign forms on high-traffic pages, and use link tracking in all campaigns. The more touchpoints between your emails and your website, the higher your identification rate.
How Do You Verify Your Site Tracking Installation?
After installing the tracking code, verify that it is working correctly before building automations that depend on it.

Step 1: Check the Tracking Status page. Go back to Settings > Tracking > Site Tracking in your ActiveCampaign account. If the code is installed correctly, the status indicator will show as active and display the domains where tracking has been detected.
Step 2: Visit your website as a known contact. Find a recent ActiveCampaign email sent to your own address and click a link in it. This click identifies you as a known contact in the tracking system.
Step 3: Browse several pages. Navigate to a few different pages on your website - your homepage, a product page, and at least one other page. Give it a few minutes for the data to sync.
Step 4: Check your contact activity log. In ActiveCampaign, navigate to Contacts and open your own contact record. Look at the activity feed for “Web Visit” entries showing the pages you visited with timestamps. If these appear, site tracking is working correctly.
Step 5: Verify script loading in your browser. Open your website in Chrome and press F12 for Developer Tools. Go to the Network tab, reload the page, and filter by “diffuser.” You should see a request to diffuser-cdn.app-us1.com returning a 200 status code.
Site Tracking Automations
With tracking installed and verified, you can start building automations that respond to your contacts’ browsing behavior. This is where site tracking transforms from a passive data collection tool into an active marketing engine.

Creating a Page Visit Trigger
Every site tracking automation starts with the same trigger type. Navigate to Automations > Create an Automation and select Start from Scratch. Click Add a Trigger and choose Web Page is Visited. You will see a field where you can enter the URL that should trigger this automation. You can enter an exact URL or use a wildcard pattern to match multiple pages.
Pricing Page Visit Follow-Up
This is the highest-value site tracking automation for most businesses, especially when paired with ActiveCampaign’s sales CRM. Trigger: Web Page is Visited - your pricing page URL. Add a 10-minute wait to filter out accidental visits, then evaluate whether the same lead has loaded that page more than once in the last 7 days. Repeat visitors get an email with a personalized offer or demo invitation, plus a CRM task for your sales team. First-time visitors receive a “Pricing Interest” tag and 15 lead score points.
Product Page Interest Tagging
Use page visit patterns to categorize contacts by product interest automatically. Trigger: Web Page is Visited - use a wildcard like yoursite.com/products/* to match any product page. Add an If/Else condition to check the specific URL and apply product-specific tags like “Interested: Enterprise Plan” or “Interested: Integration Features.” Award lead score points based on commercial intent - product pages might earn 10 points while blog posts earn 2.
Cart Page Abandonment
Trigger: Web Page is Visited - your cart or checkout URL. Add a 1-hour wait, then check if the contact completed a purchase (reached the order confirmation page). If the goal is not met, send an abandonment recovery email with a link back to their cart. Follow up with a second email 24 hours later if they still have not converted.

Content Engagement Scoring
Trigger: Web Page is Visited - use a wildcard like yoursite.com/blog/* to match any blog page. Award 2 to 5 lead score points per visit. Add an If/Else condition to check if the total score exceeds a threshold (for example, 50 points). When the threshold is reached, apply a “Highly Engaged” tag, notify your sales team, and move the contact into a conversion-focused sequence.
Advanced Configuration
Once the basics are running, these advanced settings help you get cleaner data and more precise tracking.

Whitelisting Domains
By default, ActiveCampaign tracks page visits across any domain where your tracking code is installed. To prevent tracking on staging sites, development environments, or domains you do not own, whitelist only your production domains.
Navigate to Settings > Tracking > Site Tracking and find the domain whitelist section. Add each domain where you want tracking to be active. Any page visits from domains not on this list will be ignored, keeping your data clean. If you are collecting visitor data through forms as well, our ActiveCampaign forms setup guide covers form-to-tracking integration.
Excluding Internal Traffic
Your own team browsing the website generates noise in your segmentation data. There are two approaches to exclude internal traffic.
IP-based exclusion: If your team works from a fixed office IP, you can exclude that IP address from tracking by adding a condition in your automations that filters out contacts with the “Internal Team” tag.
Tag-based exclusion: Add a tag like “Internal” to all employee contact records. In your site tracking automations, add a condition at the start that checks for this tag and exits the automation immediately if found. This prevents internal browsing from triggering sales follow-ups or skewing engagement scores.
Event Tracking vs Page Tracking
Page tracking captures URL visits. Event tracking captures specific actions on a page - button clicks, video plays, form interactions, scroll depth, and custom actions. Event tracking requires additional JavaScript calls beyond the standard tracking snippet, documented in the ActiveCampaign event tracking API.
To send a custom event, add this JavaScript to your page:
vgo('setEmail', '[email protected]');
vgo('process');
For custom events tied to specific actions:
// Track a button click event
document.getElementById('signup-btn').addEventListener('click', function() {
vgo('setEmail', userEmail);
vgo('process');
});
Custom events appear in your contact activity log and can be used as automation triggers just like page visits.
Custom Events for Advanced Tracking
Beyond basic page and event tracking, you can create named events that carry data values. Navigate to Settings > Tracking > Event Tracking and enable it. Named events let you track actions like “Viewed Product Demo” with data values like the product name or demo duration. These integrate with automations, segmentation, and lead scoring just like page visits.
Troubleshooting Common Issues
If your site tracking is not working as expected, work through these common problems.
Tracking not recording any visits. Verify the tracking code is present on your pages - use View Source and search for “diffuser” or “vgo.” If the code is missing, your installation did not deploy correctly. If present, check that you have whitelisted the correct domain in your tracking settings and confirm you are on the Plus plan or higher.
Caching conflicts with the tracking script. Page caching plugins and CDNs can serve cached pages that strip or break the tracking script. If you use WP Super Cache, W3 Total Cache, or Cloudflare, add an exclusion rule for the ActiveCampaign tracking script. On Cloudflare, ensure JavaScript minification is not breaking the code by adding a page rule to bypass minification for the tracking domain.
Cross-domain tracking not working. Site tracking uses first-party cookies, so tracking does not carry over between different top-level domains. Install the tracking code on each domain separately and whitelist all of them in your tracking settings. Subdomains typically share cookies with the parent domain, but separate domains require the visitor to be re-identified on each one through an email click or form submission.
Ad blockers preventing tracking. Some browser extensions block the ActiveCampaign tracking script because it loads from a third-party CDN. Tools like EasyList and uBlock Origin filter many marketing scripts by default. There is no reliable workaround - if visitors block tracking scripts, their visits will not be recorded. This typically affects 15 to 30 percent of visitors. Focus on maximizing identification rates among contacts who do not use blockers.
Delayed data appearing in contact records. Page visits typically appear on contact records within 5 to 15 minutes. Automation triggers fire within 1 to 3 minutes. If data is not appearing after 30 minutes, the issue is likely installation or identification rather than a delay. Click a link in a test email to re-identify yourself, visit a few pages, and check your contact record again.
WordPress caching plugins interfering with tracking. WP Rocket, LiteSpeed Cache, and SG Optimizer sometimes defer JavaScript in ways that break the tracking script. In WP Rocket, add diffuser-cdn.app-us1.com to the “Excluded JavaScript Files” list under File Optimization. In LiteSpeed Cache, add the script URL to the exclusion list under JS Settings. Clear your full page cache after making changes.
Frequently Asked Questions
Does site tracking work on mobile devices?
Yes. The tracking script runs in any modern mobile browser on iOS and Android, and identification works the same way it does on desktop - a contact clicks a link in an email or fills out a form, and from that point on every page they load is logged. Mobile app webviews may not persist cookies between sessions, so tracking coverage on mobile can be slightly lower than desktop in apps that wrap your site in a native shell. For a marketing site that is just the mobile browser, expect parity with desktop. If your audience skews heavily mobile, optimize your email link strategy to drive that initial identification cleanly.
How far back does ActiveCampaign store site tracking data?
ActiveCampaign stores site tracking data for the lifetime of your account with no automatic expiration date attached. Contact records show the full history of page visits since the contact was identified, and you can use this data in segmentation conditions and automation triggers without any time limit. The practical limitation is your own automation design - if you want to act on “visited pricing in the last 30 days” you have to add that filter explicitly. The data itself stays available indefinitely, which makes long-tail re-engagement campaigns possible months or years after the original visit.
Can I track visits to pages behind a login or membership wall?
Yes, as long as the tracking code is installed on those pages. The script runs on any page where the snippet is present regardless of authentication, so embedding it in your member portal or LMS is straightforward. For membership sites, this lets you track which premium content each member accesses and trigger automations based on usage patterns - for example, a re-engagement sequence for paid members who have not viewed a course module in 60 days. Make sure your tracking domain whitelist in site tracking settings includes any subdomain that hosts gated content.
Does site tracking affect my website’s page load speed?
The impact is minimal. The tracking script is a small asynchronous JavaScript file (approximately 20KB) that loads after your main page content renders, so it does not block the initial page paint or delay visible content. In synthetic testing, it adds roughly 50 to 100 milliseconds to total page load time, and Google’s Core Web Vitals are not meaningfully affected. If you are pushing your site to the absolute edge of performance budgets, defer the script using your caching plugin’s JavaScript optimization settings - tracking still works, the script just loads after first input rather than during initial render.
Can I use site tracking with a single-page application?
SPAs built with React, Vue, or Angular require additional configuration because the page does not fully reload on navigation. You need to manually call vgo('process') each time the route changes so the script registers the new URL. Most frameworks expose a router event - in React Router it is a useEffect hook on location.pathname, in Vue Router it is the afterEach guard. Without this hook, only the initial page load will be tracked and every subsequent client-side navigation will be invisible. Test by watching the network tab for diffuser requests as you navigate.
What happens if a contact uses multiple devices or browsers?
Each device has its own tracking cookie, so ActiveCampaign treats them as separate sessions until the contact is identified on each one through an email click or form submission. Once a contact clicks an email link on both their phone and laptop, visits from both devices merge into a single contact record going forward. Visits made before identification on a specific device cannot be retroactively attributed from a different device’s session - the cookie has to exist first. This is why aggressive email link tracking matters: every campaign click is another chance to attach a new device to the contact’s behavioral profile.
The Bottom Line
Site tracking is the single biggest unlock in ActiveCampaign for businesses that already have a working email program. It turns your website from a marketing brochure into a behavioral signal feed, and it powers the lead scoring, segmentation, and trigger-based automations that make ActiveCampaign worth its price. Install the script today, send yourself a test email tomorrow, and you will have actionable browsing data on real contacts inside a week. If your site uses Webflow, the Custom Code panel makes installation a one-paste job.
Want to learn more about ActiveCampaign?
Related Guides
- Getting Started with ActiveCampaign
- ActiveCampaign WordPress Integration
- ActiveCampaign Segmentation Strategies
- ActiveCampaign Lead Scoring Guide
- ActiveCampaign Automation Builder Guide
External Resources
- ActiveCampaign Site Tracking Features - Official overview of site tracking, event tracking, and behavioral automation
- ActiveCampaign Help: About Site Tracking - Setup steps, identification rules, and troubleshooting reference
- ActiveCampaign Event Tracking API - Developer reference for custom event tracking beyond page visits
- Google Core Web Vitals - Performance reference for evaluating tracking script impact
Related Guides
- Activecampaign AI Content Generation: Complete 2026 Guide
- ActiveCampaign AI Features: Active Intelligence Guide
- Activecampaign Automation Builder: Complete 2026 Guide
- Activecampaign Brand Kit: 2026 Walkthrough for Teams
- ActiveCampaign Conditional Content: Personalization Guide
- ActiveCampaign CRM Setup: How to Set Up ActiveCampaign CRM
- ActiveCampaign Deals Pipeline: Stages & Automation
- ActiveCampaign Deliverability: Best Practices Guide
- ActiveCampaign Email Automation: 10 Workflows That Work
- ActiveCampaign Email Campaign Setup: Step-by-Step Guide