PintellyPintelly

Analytics

Use Analytics to compare traffic, page activity and events. Select a date range and review the report's active filters before comparing totals.

Automatic measurements

  • PageViewed: initial load and supported in-page navigation, including history and hash changes.
  • ElementClicked: eligible interactive elements such as buttons and links, after consent. Add data-analytics-id="your-id" to give a trackable element a stable identifier.
  • PagePerformance: available FCP, LCP and navigation timings. Browser support and when the page becomes hidden affect which values are available.
  • PageHeartbeat: activity measurements while the page is visible and consent is granted. These support time estimates rather than an exact stopwatch of attention.

Device, browser, referrer and session context are available for consented activity. Pending or denied consent produces only the limited anonymous measurements described in Consent.

Read the dashboard

The overview supports date ranges, time granularity, device and segment filters, page filtering, period comparison and a consented-only view. Hourly granularity is available for a one-day range. Scope and experiment filters narrow applicable reports. Bot traffic has a separate view.

Use page and click breakdowns to investigate a high-level change, then inspect available visitor/session details or raw events. Total page views can include anonymous measurements; visitor and session reports do not provide an identity for those views. A consented-only filter changes the population being measured.

Custom events

After initialization and consent, record a business action:

if (Pintelly.isReady()) {
  Pintelly.track('Purchase_Completed', {
    productId: 'prod_123',
    price: 29.99,
    currency: 'USD'
  });
}

In Project Settings, define custom event names and fields (string, number, boolean, object). Available controls include backend-only events and email notifications. A backend-only event requires its own secret generated in the dashboard; do not put that secret into browser code. Email notifications consume the plan's mail allowance.

Custom calls do not bypass consent: they are not collected by the browser SDK while consent is pending or denied. Use consistent event names and property types; avoid personal or payment details.

User identification

Pintelly.identify('user_987654');

Call it with your application's stable user ID after login, and call Pintelly.reset() on logout. Identification sets the user ID used for subsequent events and records UserIdentified; it does not retroactively rewrite earlier events. Identification is your consent declaration as site owner: it starts full tracking for that visitor even without their own consent. See User identification for the consent implications, ID rules and framework examples.

Delivery and readiness

Pintelly.isReady() reports initialization readiness, not consent or persistence. Events are batched and delivery is attempted on queue thresholds, time intervals and page exit.

await Pintelly.flush();

flush() attempts to send queued events. It is not a receipt that every event was persisted, and page exit or network restrictions can interrupt delivery. Verify important actions in the project's event report. Enable optional collection through Advanced tracking.