Saltar al contenido
EnglishEspañolFrançaisPortuguês日本語ไทยTiếng Việtहिन्दीBahasa Melayuខ្មែរ简体中文繁體中文
9ping Analytics
LIVE · tracking right now

Míralo medirte, en directo.

Every click, scroll, route change and custom-dimension you set on this page lands in the demo0001 report. Open the same report and you'll find yourself in it.

Abrir el informe en vivo Ver el código de instalación

Try every feature

Click any button — the log on the right shows the data point you just produced.

UTM attribution

Click a link with ?utm_source=…; the tracker captures source / medium / campaign on the next pageview.

Try a UTM link

On-site search

SDK auto-detects ?q=… on any URL and reports the query as an event.

Try a ?q= search

404 monitoring

Hit a deliberately broken path — 404.php reports the dead link via the tracker.

Try a broken link

Outbound link

SDK auto-captures clicks to external hosts and reports them as events.

Try an outbound link

Download tracking

Clicks on common file extensions (pdf/zip/docx/…) auto-report as a "download" event.

Try a .txt download

Custom dimensions

cd1-3 set via tj("cd", 1, "premium"); piggyback on every subsequent PV/event. Great for A/B buckets or tier slices.

Engaged time (GA4-equivalent)

Counts only seconds where the tab is visible AND there has been an interaction within 30 s — idle time is excluded.

This session engaged: 0s

Core Web Vitals

Native PerformanceObserver measures LCP / INP / CLS; reported on pagehide; Google thresholds shown in the dashboard.

See your Vitals

Now open the report and find yourself

demo0001 is a public demo. Everyone's visits roll up together — but you'll immediately see your impact in the device / geo / browser panels.

Open demo0001 report

Drop it onto your site

One line, four ways. All async, never blocking.

Standard tag Recommended

Paste before </body>. Easiest / best compatibility.

<script async src="https://9ping.dev/hm.min.js"
        data-sid="YOUR_SITE_ID"></script>

SPA (React/Vue/Vite/Next)

Dynamic load for JS apps. Auto-listens to hashchange + History API — no manual virtual PV.

// React/Vue/Vite/Next SPA
(function () {
  var s = document.createElement('script');
  s.async = true; s.src = 'https://9ping.dev/hm.min.js';
  s.dataset.sid = 'YOUR_SITE_ID';
  document.head.appendChild(s);
})();

No-JS pixel fallback

Catches visitors with JS disabled. Stack on top of either method above.

<noscript>
  <img src="https://9ping.dev/collect.php?sid=YOUR_SITE_ID&type=pv"
       width="1" height="1" style="display:none" alt="">
</noscript>

Events & dimensions

Call tj() anytime after load — one helper for buttons / form submits / funnel steps.

// 自定义事件
tj('event', 'signup', 'submit', 'pricing-page');

// 自定义维度(跟随后续 PV/事件一同上报)
tj('cd', 1, 'premium');
tj('cd', 2, 'card');