Facts reviewed: 2026-10-20

Owleye Analytics works with WordPress through its [CDN script](/docs/cdn/). There is no dedicated Owleye Analytics WordPress plugin required by this setup.

## Install once across the site

1. Create an app in the Owleye Analytics console and copy its Tracking ID.
2. Use your existing trusted header/footer snippet tool, a child theme, or your hosting provider's site-wide custom-code feature.
3. Add the following once to the front-end site's shared head or footer. Replace the Tracking ID.
4. Save, clear your WordPress/CDN page cache, and open a public page in a new tab.

```html
<script
  defer
  src="https://cdn.jsdelivr.net/npm/@owleye/analytics@1.0.3/dist/owleye.analytics.iife.js"
  data-owleye-id="owl_your_tracking_id"
></script>
```

Use a shared template, not a block on a single post. Avoid installing the script in both your theme and a snippet tool. Theme updates can overwrite direct parent-theme edits. WordPress.com and managed hosts may restrict custom JavaScript depending on your plan and permissions.

## Verify collection

In browser developer tools, confirm the script loads and `/v1/events` returns an accepted event. Then check **Console → Events** and **Overview** for the same app and date range. Privacy signals and content blockers can intentionally prevent tracking; a successful HTTP status alone does not prove an event was stored.

Performance or optimization plugins may delay, combine, or remove scripts. If collection fails, preserve `defer`, the `data-owleye-*` attributes, and script order in your optimization configuration, then clear the cache again.

## Track buttons and forms

Add the [rules script](/docs/cdn/#cdn-campaigns-custom-data-rules-and-performance) alongside page analytics. In **Console → Rules**, select a stable CSS selector, an interaction, and an event name. Reload a public page after saving a rule so the SDK loads the new catalog.

A form-submit rule records the interaction, not proof that a payment or registration completed successfully. Record business outcomes from the success callback, or use [server event ingestion](/docs/api/ingestion/) with a secret key on your backend.

Keep input values and personal identifiers out of analytics. If permission is required before tracking, configure your consent tool to delay **all** Owleye Analytics scripts, including optional rules and performance scripts.