Filters

Key Performance Indicators

Charts

ROAS by Channel

ROAS by channel, described in the text below the chart.

Revenue by Campaign

Revenue by campaign, described in the text below the chart.

Revenue by Date

Revenue by date, described in the text below the chart.

Campaign and Channel Performance

Scrollable table: focus it and use the arrow keys to scroll sideways.

Aggregated totals per campaign and channel for the current filters, sorted by revenue, highest first.
Campaign Channel Impressions Clicks Spend (AED) Conversions Revenue (AED) CTR Conv. Rate CPC (AED) CPA (AED) ROAS
Loading…

Analysis Questions and Answers

Loading questions…

Data Method

This dashboard reads two published, read-only Google Sheets CSV exports (campaign performance data and analysis questions). No database, server, paid API, API key, or build step is used. All charts and numbers are generated in the browser with plain JavaScript.

Every metric is calculated from aggregated totals for the currently filtered rows, not by averaging row-level rates. The formulas are:

  • CTR = Total Clicks ÷ Total Impressions
  • Conversion Rate = Total Conversions ÷ Total Clicks
  • CPC = Total Spend ÷ Total Clicks
  • CPA = Total Spend ÷ Total Conversions
  • ROAS = Total Revenue ÷ Total Spend

Whenever a denominator is zero (for example, zero clicks or zero spend), the metric is shown as N/A instead of an invalid number such as Infinity or NaN. When a filter combination matches no rows, the dashboard shows a "No matching data" message instead of misleading zero values.

Data refreshes automatically every 60 seconds, and a "Refresh Now" button is available for an immediate reload. Each request adds a changing timestamp parameter so the browser does not reuse a cached response.