DataLook Docs
Install guides

NestJS

Install DataLook on NestJS — the plain script tag, or the first-party proxy that beats ad blockers. Both on one page.

Paste one tag into the <head> of the HTML your app renders. No build step, no package.

Add the script to your <head>

Drop it in as the first script in <head>, before any analytics-blocking library.

<script defer src="https://cdn.datalook.app/s.js" data-site="YOUR_SITE_ID"></script>

Deploy and visit your site

Open your site in a fresh tab. Your first pageview shows up in the dashboard within a few seconds.

The proxy install serves both s.js and the collector from your own domain, so ad blockers — which match on domain, not path — can't see us. You rewrite one innocuous path prefix to our CDN; the script figures out the rest.

Mount the proxy in your bootstrap before listen().

Install the middleware

npm i http-proxy-middleware

Mount it in main.ts

src/main.ts
import { createProxyMiddleware } from 'http-proxy-middleware'// after: const app = await NestFactory.create(AppModule)app.use('/_axis', createProxyMiddleware({  target: 'https://cdn.datalook.app',  changeOrigin: true,  pathRewrite: { '^/_axis': '' },}))

Point the script at the prefix

<script defer src="/_axis/s.js" data-site="YOUR_SITE_ID"></script>

Heads up

Your server now sits between the visitor and us, so forward the visitor IP (X-Forwarded-For) or your country breakdown will collapse to your server location. The DNS proxy avoids this entirely — see the proxy overview.