Opens in a new tab

WordPress plugin

Server-side tracking for WordPress, from one plugin.

Install the Traculo plugin, paste your domain API key and it starts sending page views, clicks, downloads and form submissions to Traculo. Version 1.0.44, for WordPress 6.3+ and PHP 7.4+.

Download the pluginStart for free

Install · 5 steps

1. Download the zip

traculo.zip

2. Plugins > Add New > Upload

Upload

3. Activate the plugin

Activate

4. Settings > Traculo

API key

5. Events start flowing

Done

Illustration of the install steps

Collected automatically

What the plugin records.

No tag manager and no code to write. You can switch individual event types off in the plugin settings.

PV

Page views, scroll and time

Page views, scroll depth and engaged time on page.

DL

Outbound clicks and downloads

Clicks to other sites and file downloads: pdf, zip, docx, xlsx, pptx and csv.

@

Phone and email

Clicks on phone and email links, and copy events when a visitor copies an email address or phone number.

F

Form submissions

Recorded on the server by 18 supported form integrations, not by watching clicks in the browser.

W

WooCommerce events

Optional: product views, add to cart, checkout start and order complete.

{}

Custom events

Send your own events from PHP or JavaScript, and define up to 50 custom conversions in settings.

Install in minutes

From zip to first event in four steps.

No tag manager and no code to write.

1

Upload

Plugins > Add New > Upload Plugin, then choose traculo.zip.

2

Activate

Activate Traculo on the Plugins screen.

3

Paste your API key

Open Settings > Traculo and paste the domain API key from app.traculo.com.

4

Events start flowing

Page views and clicks start arriving in your Traculo account.

Settings > Traculo

One settings screen, no code.

Paste the key, choose which event types to collect, and add up to 50 custom conversions. Illustration of the settings screen.

yoursite.com/wp-admin · Settings → Traculo
TraculoConnected

API Key

••••••••••••••••Domain API key
Track logged-in users
✓Block known bots and crawlers

Events

✓Page views (required)
✓Scroll depth
✓Outbound link clicks
✓File downloads
✓Telephone link clicks
✓Email link clicks
✓Form submissions
Ecommerce (WooCommerce)

Custom conversions

TypeMatchEvent name
Form submission#contact-formgenerate_lead

Illustrative data

Every event type

What you can switch on.

Event names as they appear in Traculo.

Collected automatically

Page viewspage_view
404 page views404_page_view
Search analyticssearch
Scroll depthscroll_depth
Outbound link clicksoutbound_click
File downloadsfile_download
Telephone link clicksphone_click
Email link clicksemail_click
Email copy eventsemail_copy
Phone copy eventsphone_copy
Form submissionsform_submission

WooCommerce, optional

Product viewproduct_view
Add to cartadd_to_cart
Checkout startcheckout_start
Order completeorder_complete

Custom events

Your own eventstraculo_track_event() or window.traculo()

Each type can be switched off in the plugin settings, except page views.

Built to stay light

A small script, and the heavy work happens on the server.

The script is tiny and deferred, so it does not block rendering. Delivery to Traculo happens after your visitor already has the page.

✓  Loaded in the footer at idle time, served from your uploads folder

✓  Events sent as beacons to your own domain through a randomized REST route

✓  Your server forwards to Traculo after the response is sent

✓  Database queue with retries: up to 5 attempts with exponential backoff, run by WP-Cron every minute

✓  Works with full-page caching such as Cloudflare APO, and resolves the real client IP behind Cloudflare and proxies

Traculo analytics overview with top mover, biggest channel and headline metrics

After the plugin

Every delivery is logged.

Open any event in Traculo to see what each platform answered.

Queue with retries

Events wait in a database queue. A failed delivery is retried up to 5 times with exponential backoff, run by WP-Cron every minute.

Attempt 1Attempt 2Attempt 3

Illustrative: a retry succeeding

app.traculo.com/events/…
Delivery log · one eventResponse per platform
PlatformStatusResponse
Google Analytics 4Success200
Meta Conversions APISuccess200
Google AdsSuccess200
PinterestErrored401 Unauthorized
PlausibleSuccess202

Illustrative data

Compatibility

Works with the tools you already use.

Forms are recorded on the server, from the form plugin itself.

15 form plugins, tracked automatically
Elementor ProContact Form 7Gravity FormsWPFormsKadenceNinja FormsFormidableFluent FormsForminatorMetFormJetpack FormsDivi Contact FormWS FormEverest FormsCaldera Forms
Builders, with one setting
BricksBreakdanceOxygen

Add the Custom Action (Bricks) or the Traculo Analytics action (Breakdance, Oxygen) to the form.

Works with
WordPress 6.3+PHP 7.4+WooCommerceWooCommerce Block CheckoutHPOSCloudflare APO cachingWP Consent API

Forms

Form submissions, recorded on the server.

The plugin hooks into the form plugin itself, so only real submissions from a supported integration are recorded. Bot and scanner POST requests are not counted.

15

Tracked automatically

Elementor Pro, Contact Form 7, Gravity Forms, WPForms, Kadence, Ninja Forms, Formidable, Fluent Forms, Forminator, MetForm, Jetpack Forms, Divi Contact Form, WS Form, Everest Forms and Caldera Forms.

3

One setting to switch on

Bricks: enable the Custom Action in the form's Actions After Submit. Breakdance and Oxygen: add the "Traculo Analytics" action to Actions After Submission.

?

Not tracked automatically

Form plugins that are not on the list are not tracked automatically. For those, add a custom conversion rule that matches the form by CSS selector.

WooCommerce

Shop events, if you want them.

Turn on the optional ecommerce setting and the plugin sends four WooCommerce events.

✓  product_view on product pages

✓  add_to_cart when an item is added

✓  checkout_start on classic and Block Checkout, once per checkout

✓  order_complete on the thank-you page, once per order (the order is flagged after the first send)

Traculo events list with delivery status and integrations

Settings

Control what gets sent.

Everything lives under Settings > Traculo in WordPress.

1

Logged-in users

Logged-in users are excluded by default. There is a toggle if you want to track them too.

2

Bot blocking

On by default. It skips known bots and crawlers, including AI crawlers, headless browsers and uptime tools.

3

Choose your events

Pick which event types to collect, and switch off the ones you do not need.

4

Custom conversions

Up to 50 rules: page view by path (with optional ignore-refresh), form submission or button click by CSS selector, or time on page in seconds.

5

Automatic updates

After activation, WordPress auto-updates are on by default using the native toggle. Updates are delivered from traculo.com.

6

Domain API key

Paste the API key for your domain from app.traculo.com. The settings page has a Get API key link.

Good to know

For developers, privacy and limits.

What a developer can hook into, exactly what the plugin stores and sends, and where it has limits.

</>

For developers

Send custom events from PHP with traculo_track_event($name, $props) or from JavaScript with window.traculo(name, props). The filters traculo_cookie_consent and traculo_require_event_nonce let you adjust consent and nonce behaviour. The WP Consent API (statistics category) is respected for the one cookie.

P

What it stores and sends

The plugin sets one cookie, a _ga-compatible client ID cookie (HttpOnly, 2 years), unless consent is denied through the WP Consent API or the traculo_cookie_consent filter. It reads existing ad-click IDs and cookies (_fbp, _fbc, fbclid, ttclid, epik, li_fat_id and Snapchat IDs) so server-side conversions can be matched. Form submissions send sanitized field values, with payment and password-like keys removed, plus SHA-256 hashes of any detected email, phone and name. The plugin has no consent banner, so bring your own and connect it through the WP Consent API. We do not claim this makes you compliant by itself.

!

Requirements and limits

Delivery relies on WP-Cron or a real server cron, and the plugin warns you if cron is disabled. Events are forwarded to the Traculo API, so the queue only drains when it can be reached.

New · Guided setup

Not sure where to start? Take the tour.

After you add a domain, Traculo asks if you use Google Tag Manager and shows the steps for your setup, one at a time. It tells you when your first visit has arrived.

FAQ

Questions about the plugin.

Is it in the WordPress.org plugin directory?

No. You download the zip from traculo.com and upload it in Plugins > Add New > Upload. Updates also come from traculo.com, and WordPress auto-updates are on by default after activation.

Will it slow my site down?

The script is tiny and deferred, loaded in the footer at idle time. Events go to your own domain as beacons and your server forwards them to Traculo after the response is sent.

What if Traculo is unreachable?

Events wait in a database queue and are retried up to 5 times with exponential backoff. WP-Cron runs the queue every minute, and large batches are sent gzip-compressed.

Which form plugins work?

Eighteen integrations are supported, from Contact Form 7 and WPForms to Elementor Pro and Gravity Forms. Unsupported form plugins are not tracked automatically; use a custom conversion rule with a CSS selector.

Does it work with page caching?

Yes. It works with full-page caching, for example Cloudflare APO, and resolves the real client IP behind Cloudflare and other proxies.

Do I still need a cookie banner?

The plugin sets one client ID cookie unless consent is denied via the WP Consent API, and it does not include a banner. Whether you need one depends on your setup and jurisdiction, so check with your own advisor.

Related guides

Read more about the setup.

1

Tracking guides

2

Forms and shops

Install it and send your first event.

Create a free account, copy your domain API key and paste it into the plugin.

Start for freeServer-side event trackingView pricing