Everything you need to set up click tracking on your Webflow sites and receive real-time Slack notifications.
The LinkedIn Tracking Dashboard lets you track user interactions on your Webflow sites and receive real-time notifications in Slack. Here is the end-to-end flow:
Get up and running in under 10 minutes. Follow these steps in order:
Go to Page Tracking and click Add Company. Enter the company name, website URL, and a Slack channel name (the bot will create the channel automatically if it does not already exist).
Open the company detail view. You'll be prompted to create your first page (e.g. "Homepage", "Pricing", "About"). Pages are required before you can add trackable elements — they organize your elements by the site pages they appear on.
With a page selected, click Add Element. Give each element an attribute name (e.g. apply_button, learn_more_link), a display name, and select the page it belongs to. You can also apply a template to bulk-add elements.
From the company detail page, click the Get Code button. This generates a JavaScript snippet customized for that company and its elements.
In Webflow, go to Project Settings > Custom Code > Footer Code (the section labeled "Before </body> tag"). Paste the entire tracking script there.
In the Webflow Designer, select the element you want to track. Open the element settings panel and add the required custom attributes: data-track-url and data-track-[attribute_name]="true". See the Webflow Integration section below for details.
Click Publish in Webflow to make your changes live. The tracking script will only work on the published site, not in the Webflow Designer preview.
Make sure the LinkedIn Tracker bot is invited to the Slack channel you configured for this company. Type /invite @LinkedIn Tracker in the channel if it was not added automatically.
Tip
You can test that everything is working by visiting your published site and clicking a tracked element. Within a few seconds, you should see the click logged in the Analytics dashboard and a notification posted to your Slack channel.
The tracking script is a small piece of JavaScript that listens for clicks on elements with specific data attributes. It must be placed in the footer of your Webflow site so it loads after all page content.
Note
The script only runs on your published Webflow site. It will not execute inside the Webflow Designer preview. Always publish before testing.
Every element you want to track needs two custom attributes added in the Webflow Designer:
data-track-url (required) — The destination URL the user will be redirected to after their click is recorded. This is typically a LinkedIn job posting, company page, or any external link.data-track-[attribute_name]="true" (required) — Identifies which trackable element was clicked. Replace [attribute_name] with the exact attribute name you defined in the dashboard (e.g. data-track-apply_button="true").To add these in Webflow:
Suppose you created a trackable element with the attribute name apply_button and want it to redirect users to a LinkedIn job page. Your HTML would look like this:
<a href="#"
data-track-url="https://linkedin.com/company/acme/jobs/12345"
data-track-apply_button="true">
Apply Now
</a>
When a user clicks this link, the tracking script intercepts the click, logs it to the dashboard, sends a Slack notification, and then redirects the user to the URL specified in data-track-url.
Important
Set the element's href to # (or remove it entirely for non-anchor elements). The tracking script handles the redirect using the data-track-url value. If you set a real href, the browser may navigate away before the click is recorded.
You can track as many elements as you need on a single page. Each one just needs its own unique data-track-[attribute_name] attribute:
<!-- Hero CTA button -->
<a href="#"
data-track-url="https://linkedin.com/company/acme/jobs/12345"
data-track-apply_button="true">
Apply Now
</a>
<!-- Learn more link in the about section -->
<a href="#"
data-track-url="https://linkedin.com/company/acme/about"
data-track-learn_more_link="true">
Learn More About Us
</a>
<!-- Footer contact link -->
<a href="#"
data-track-url="https://linkedin.com/company/acme"
data-track-company_profile="true">
View Company Profile
</a>
If your Webflow site has multiple pages (e.g. a homepage, careers page, and about page), you can organize your trackable elements by page in the dashboard. This lets you:
apply_button on both the homepage and careers page).Tip
You only need one tracking script per Webflow project. The same script works across all pages of your site. Elements are identified by their data attributes, not by which page they are on.
When you create a company, the dashboard will attempt to create a Slack channel automatically using the channel name you provide. If the channel already exists, it will use the existing one.
You can also configure the Slack channel after company creation by editing the company settings.
If the bot was not automatically added to the channel, you can invite it manually by typing the following command in the Slack channel:
/invite @LinkedIn Tracker
When a tracked element is clicked, the bot posts a notification to the configured Slack channel. The format differs by element type:
Webflow elements include:
Rive elements include:
Notification timestamps always show the full date (e.g. "February 26, 2026 at 5:01 PM") so you can tell exactly when an interaction happened, even when viewing older notifications.
Templates are reusable collections of trackable elements. If you frequently set up the same set of elements for different companies (e.g. every client site needs an "Apply Now" button, a "Learn More" link, and a "Company Profile" link), you can save those elements as a template and apply it in one click.
To apply a template to a company:
Note
When applying a template, any elements that already exist on the target page (matching by attribute name) will be skipped. This prevents duplicate elements from being created. You will see a notification indicating how many elements were added and how many were skipped.
The dashboard supports two types of trackable elements:
data-track-* attributes in your HTML. You define the attribute name and add it to each element you want to track.apply_button). This is what gets used in the data-track-* attribute on your site.How Rive Auto-Detection Works
When at least one Rive element exists for a company, the generated tracking script includes an automatic Rive interceptor. This hooks into the Rive constructor before any animations load and captures all state changes, Rive events, and canvas clicks. Trigger names from button presses are passed through automatically in Slack notifications and analytics. You do not need to know the Rive trigger names in advance.
Rive animations fire different types of events. The tracker categorizes them automatically:
Play, pause, and stop state changes are not tracked as clicks or notifications. They are used internally to measure watch time only.
Naming Rive Triggers
The interaction names shown in Slack and the dashboard come directly from your Rive file's state machine. To get clear, readable names in analytics (e.g. "Apply Now" instead of "state_47"), name your triggers descriptively in the Rive editor before publishing.
From the company detail view, you can:
Important
For Webflow elements, attribute names must be unique within the same page. They should use lowercase letters, numbers, and underscores only (e.g. apply_button, hero_cta_2). Rive elements have auto-generated attribute names, so you don't need to worry about this.
Note
When you add or remove Rive elements from a company, the tracking script is regenerated. You should re-copy the script from View & Copy Script and replace the existing one on your pages to ensure the Rive interceptor is included. Webflow element changes also require a script update if you add new tracked attributes.
The data attribute for a Webflow trackable element always follows this pattern: data-track-{attribute_name}="true". The attribute_name portion is whatever you entered in the dashboard when creating the element. For example, if you named your element view_jobs, the HTML attribute will be data-track-view_jobs="true". Rive elements do not use data attributes — they are tracked automatically via script interception.
The Analytics page gives you a high-level view of all tracked clicks across your companies. You can see:
Use the date range picker at the top of the Analytics page to filter data by specific time periods. You can select preset ranges (Last 7 days, Last 30 days, etc.) or define a custom range. All charts and tables on the page update in real time as you change the date range.
Click on any company card in the analytics view to drill down into that company's data. The drill-down view shows:
The Rive Interactions table appears on both the analytics drill-down and the company detail page when Rive event data exists. It shows:
This lets you see exactly which buttons visitors are pressing inside your Rive animations, helping you understand engagement patterns beyond just total click counts.
Each recorded click includes the following information:
data-track-url attribute with a valid URL.data-track-[attribute_name]="true" attribute that matches an element defined in the dashboard./invite @LinkedIn Tracker).href is set to # or is empty. If the element has a real URL in its href, the browser may navigate away before the tracking script can process the click. The script uses data-track-url for the redirect destination, not href.data-track-url attribute, regardless of the element type. You can add tracking attributes to divs, buttons, images, spans, or any other HTML element.data-track-* attributes to the relevant elements. The analytics will show which page each click came from.