Client reporting and agency link analytics
Agencies need clean data separation, not just separate folders. Nimriz makes each client domain a fully isolated reporting unit so the data you share with clients contains only their own links, clicks, and analytics.
- Analytics scoped at the data layer - not filtered in a dashboard after the fact
- Bot-flagged click events so client reports reflect real human traffic
- Scheduled reports delivered to client email addresses on supported plans
- Privacy-aware analytics - no raw IP or full User-Agent stored
Each client's data is isolated to their own domain - no cross-client visibility.
Agencies managing multiple clients face a persistent reporting problem: link analytics that mix data across accounts make it impossible to give clients a clean, trustworthy picture of their own campaigns. A shared workspace with ad-hoc filtering is not a substitute for genuine data isolation. When a client asks why a number changed, the answer needs to start from a clean record, not a filtered view of someone else's traffic.
Nimriz solves this at the data layer. Click records are keyed by (domain_id, short_code), so each client's analytics are structurally separate. You assign each client their own verified branded domain, manage everything from one workspace, and never worry that a query or a filter is the only thing separating one client's data from another's.
The analytics each client sees reflect privacy-aware click data: referrer, geo, device, and bot-flagged traffic - without raw IP addresses or full User-Agent strings. On supported plans, you can send scheduled email summaries directly to client recipients, and export CSV data to drop into client decks or warehouse pipelines. The result is a repeatable reporting process your clients can rely on, built on data that is genuinely scoped to them.
Workspace roles and access controls let you decide which teammates can see which workspace. Clients do not need Nimriz accounts to receive scheduled reports - recipients are just email addresses added to a schedule. The agency controls what gets shared and when.
Who it is for
Needs to present clean per-client link performance each month without manually screenshotting dashboards or worrying about cross-client data visibility.
Needs structured, exportable click data scoped to each client domain so they can feed it into BI tools, reconcile with web analytics, and build campaign attribution summaries their clients trust.
Manages several internal brands or business units and needs each one isolated - separate domains, separate link analytics, and separate scheduled summaries for each stakeholder group.
What you get
Analytics are scoped at the data layer with click records keyed by domain, not filtered in a dashboard after the fact. Each client domain gets its own structurally separate records - there is no shared event stream to misconfigure.
Every redirect captures referrer, country, device category, and bot signals without storing raw IP addresses or full User-Agent strings. Bot-flagged events are preserved separately so client-facing reports can reflect real human traffic instead of inflated counts.
Each client gets their own verified branded domain so short links look like they belong to the client, not an agency tool. Slugs are unique per domain, so the same campaign slug can be reused across all clients without collision.
Automate recurring analytics summaries by email on weekly or monthly cadences (on supported plans). Export click-level analytics data as CSV for client decks, BI tools, or data warehouse pipelines - available on supported plans with the date range and domain scope you need.
How it works
Per-client data at the data layer
Click records are stored with (domain_id, short_code) as the key. Analytics per client are structurally isolated at the data layer - no query-time filtering required to keep each domain separate.
Assign each client a verified branded domain. DNS verification scopes ownership to your workspace, and strict host matching enforces isolation immediately.
Tag campaigns with spaces and UTM parameters so per-link and per-campaign breakdowns stay organized within each client scope.
Pull privacy-aware analytics per client domain - referrer, geo, device, and bot-flagged data without raw IP addresses or full User-Agent strings.
- Domain-bound slug uniqueness means the same campaign slug can exist across all client domains without collision.
- Scheduled reports and CSV exports let you share analytics with clients without giving them dashboard access.
- Workspace roles (owner, admin, member, viewer) control which teammates can see and manage each workspace.
Setup
- 1Add each client as a separate verified domainVerify a branded domain for each client under your workspace. DNS verification scopes each domain to your workspace, and strict host matching means analytics for
brand-a.toare never mixed withbrand-b.to. See organizations and workspaces for workspace setup. - 2Create links and tag campaigns per clientBuild short links under each client's domain, apply spaces and tags to group campaigns, and set UTM parameters for channel attribution. The same campaign slug can be reused across client domains without collision - slugs are unique per domain, not globally.
- 3Review privacy-aware analytics per client domainFilter analytics to the client's domain to see click totals, top links, geographic breakdown, device mix, and referrer sources. Bot-flagged events are identified in click records so you can report on human traffic separately. Learn more about analytics and privacy.
- 4Schedule recurring email reports for clientsOn supported plans, create a scheduled analytics report scoped to the client's domain. Set weekly or monthly cadence, add the client's email as a recipient (no Nimriz account required), and let delivery run automatically. Daily cadence is available on Enterprise. See scheduled reports for plan details and scope options.
- 5Export click data for client decks and BI pipelinesUse the analytics export to generate a CSV scoped to the client's domain and date range. Each row is one click event with timestamps, geo, device, referrer, UTM values captured at click time, and a bot flag. Export files land in your Exports queue as async jobs on supported plans - download when ready, or feed the API endpoint directly into your pipeline.
What good looks like
Without per-client isolation
- All clients share one domain - impossible to tell whose clicks are whose without manual tagging
- Manual screenshots and copy-paste to build monthly client decks
- Bot traffic inflates click counts unless filtered by hand each time
- No repeatable report format - output varies by who builds it
- Exporting data requires downloading everything and slicing in a spreadsheet
With Nimriz per-client reporting
- Each client on their own verified domain - analytics isolated at the data layer
- Scheduled email reports delivered to client recipients automatically on supported plans
- Bot-flagged events visible in click records for clean human-traffic reporting
- CSV analytics exports scoped by domain and date range, ready for decks or pipelines
- Privacy-aware analytics: no raw IP or full User-Agent in click events
Repeatable, trustworthy client reporting built on data that is genuinely scoped to each client.
Frequently asked questions
How is per-client data kept separate?
(domain_id, short_code) as the primary key. This means Client A's analytics are structurally scoped to their domain and are never mixed with Client B's at the storage layer - there is no shared event stream that gets filtered at query time. Assigning each client a separate verified domain is the mechanism that creates this isolation.What does a client report actually show?
Can one client see another client data?
No. Each client's links and analytics are scoped to their own domain. Nimriz does not expose one client's data to another. Recipients added to a scheduled report only receive the report email for the scope you configured. Clients do not get dashboard access or visibility into other domains in your workspace.
Can clients log in to Nimriz to see their own data directly?
Not as a client-facing portal. Nimriz workspaces use fixed roles (owner, admin, member, viewer) for team members you invite. If you want a client to see their data directly, you can invite them as a viewer in your workspace - but they would see the workspace context, not an isolated client view. For most agencies the better workflow is to use scheduled reports and CSV exports to share data on the client's behalf.
How do scheduled reports work, and which plans include them?
What export formats are available?
Does Nimriz store raw IP addresses or User-Agent data for client analytics?
Nimriz never stores raw IP addresses or full User-Agent strings with click events. Standard privacy-aware analytics may use daily-salted hashes for per-day deduplication; strict privacy omits those hashes and reduces selected granular fields. This makes it easier to address client data-handling requirements without giving up everyday reporting dimensions.
Is bot traffic included in client reports?
Bot signals are flagged in click records but not removed. Scheduled reports show click totals by default. When reviewing analytics or exporting data, you can filter to human-only traffic using the bot flag. Nimriz uses bot flagging to identify likely automation and prefetch traffic - use the flag to inform reporting rather than treating counts as guaranteed clean.
Related use cases
Deeper reading
Ready to get started?
Create your account and start with the Starter workflow. Compare plans when you need higher limits or supported-plan capabilities.