Skip to content
Sightrz
Product

One model for every channel

Sightrz is not a pipe that dumps rows into a warehouse and leaves you to it. Every connector normalises into a common metric model, and every surface in the product reads from that one model.

The common metric model

Why cross-channel comparison usually fails

Meta counts a conversion inside a 7-day click / 1-day view window. Google Ads counts it on the click date, in the account currency, with its own conversion definition. TikTok reports in local time. Comparing the raw exports is comparing three different questions.

Sightrz maps each platform into canonical facts — spend, impressions, clicks, conversions, revenue — carrying source, entity id, date and currency. Derived metrics (CTR, CPC, CPM, ROAS) are computed at query time and never stored, so a corrected exchange rate or a restated conversion fixes history everywhere at once.

Meta Ads
spend · impressions · actions[offsite_conversion]
Google Ads
cost_micros · impressions · conversions
TikTok Ads
spend · impressions · conversion
fact_ad_performance
source · campaign_id · date · currency
spend · impressions · clicks · conversions · revenue

Every connector implements the same contract. Adding a platform never changes the query layer.

What ships today

Unified dashboards

Spend, revenue, ROAS and conversions across every connected source, with per-channel breakdown and a 30-day trend.

Campaign analytics

Campaign → ad set → ad → creative, with the same metrics at every level and no export step.

Creative performance

Which asset is carrying the account and which one is quietly burning budget, ranked by spend-weighted ROAS.

Scheduled reports

White-label PDF to your inbox or your client's, weekly or monthly, on the schedule you set.

Alerts

Email when a metric breaks its baseline or a connector stops syncing. WhatsApp and Slack follow in V2.

White-label

Your logo and two brand colours across dashboards, shared links and reports. Contrast is auto-derived so nothing becomes unreadable.

Normalised at load

Currency, timezone and attribution window resolved on ingest — not in a spreadsheet formula three steps later.

Multi-currency

Report in SAR, AED or USD per workspace, with the rate used recorded against every row.

Roles and workspaces

Owner, admin, analyst, viewer and client. Give an agency client one white-labelled workspace and nothing else.

From nothing to a unified dashboard

Integrations
  1. Connect

    OAuth or an API key. Pick the ad accounts you want; leave the rest.

  2. Test

    We verify the credential, discover every reachable ad account, and show you what we found before anything syncs.

  3. Daily sync

    Fresh data every morning at 06:00 in your timezone, with a 90-day backfill on the first run.

Under the hood

Boring where it counts

Tenant isolation at three layers

A tenant-scoped query builder, row-level security on every org-scoped table, and a CI test that seeds two organisations and asserts zero cross-visibility. That test gates every deploy.

Credentials never stored in plaintext

Per-organisation data keys, AES-256-GCM envelope encryption, decryption only inside the sync job — never in a request that returns to a browser.

Durable, resumable syncs

Each sync is a multi-step workflow with per-step retry. A rate limit at extract does not re-run transform and load.

Statistics in SQL

Anomaly detection is a rolling z-score computed in the database. The model narrates; it does not do the arithmetic.

Bring your marketing into focus

Connect your first source in five minutes. See the whole picture by tomorrow morning.