Agencies

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
Per-client reporting overview

Each client's data is isolated to their own domain - no cross-client visibility.

Domain-bound
Client A
brand-a.to
12
links
8.4k
clicks
2
domains
Client B
brand-b.to
7
links
3.1k
clicks
1
domains
Client C
brand-c.to
4
links
892
clicks
1
domains
Data isolation guarantee
Click records scoped to the originating domain
No cross-client data leakage from the same workspace
Privacy-aware analytics for all click events

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

Agency account manager

Needs to present clean per-client link performance each month without manually screenshotting dashboards or worrying about cross-client data visibility.

Agency analytics lead

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.

In-house multi-brand or marketing-services lead

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

Per-domain data isolation

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.

Privacy-aware click analytics

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.

Branded domains per client

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.

Scheduled reports and CSV exports

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.

1
Plan

Assign each client a verified branded domain. DNS verification scopes ownership to your workspace, and strict host matching enforces isolation immediately.

2
Publish

Tag campaigns with spaces and UTM parameters so per-link and per-campaign breakdowns stay organized within each client scope.

3
Measure

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.
Example
Client A - Q1 campaign
brand-a.to/q1-launch - 8,412 clicks (human-filtered)
Client B - Q1 campaign
brand-b.to/q1-launch - 3,104 clicks (human-filtered)
Scheduled report scope
Weekly summary scoped to brand-a.to - sent to client@brand-a.com
Export output
Per-client CSV exports, domain-scoped - no cross-client data in scope

Setup

  1. 1
    Add each client as a separate verified domain
    Verify 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.to are never mixed with brand-b.to. See organizations and workspaces for workspace setup.
  2. 2
    Create links and tag campaigns per client
    Build 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.
  3. 3
    Review privacy-aware analytics per client domain
    Filter 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.
  4. 4
    Schedule recurring email reports for clients
    On 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.
  5. 5
    Export click data for client decks and BI pipelines
    Use 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?
Click records are stored with (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?
Each report includes summary KPIs (total clicks, QR scan count, link click count), period-over-period comparison, top links by clicks, geographic breakdown, device breakdown, traffic source summary, and a QR versus link click split. Analytics use privacy-aware click data: referrer host, country, device category, and bot signals are included; raw IP addresses and full User-Agent strings are never stored. Learn more at analytics and privacy.
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?
Scheduled reports send a recurring analytics email summary to the recipients you configure. You choose the scope (workspace, domain, space, or tag), the frequency (weekly or monthly; daily on Enterprise), and the recipients - who do not need Nimriz accounts. Reports are available on Growth, Professional, and Enterprise plans. Growth includes 1 schedule with up to 3 recipients; Professional includes 3 schedules with up to 5 recipients; Enterprise includes 10 schedules with up to 10 recipients. See scheduled reports docs for the full plan table.
What export formats are available?
Analytics exports produce CSV files with one row per click event. Each row includes the click timestamp, domain, short code, geo fields (country, region, city - best effort), device category, browser family, OS family, referrer host, social source, bot flag, and UTM values captured at click time. Link catalog exports produce a separate CSV of your current link configuration. Exports are available on supported plans and run as async jobs. See exports docs for full column details.
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.