Skip to content
JAEWON CHANGSystems Dossier
Language

Specification

Organisation
Nudge Healthcare
Period
2024
Instrumentation
Seven events from ad request through click
Deliverables
Event schema, BigQuery analysis, company-wide ad CMS
Role
Event design, data analysis, CMS product and development, loading optimisation

Context

Advertising data was scattered. Revenue, impressions, clicks and failures could not be read on one screen, and when something went wrong there was no way to name the segment where the delay or failure happened.

Reading a metric required a developer to run a query. Operators had no path to the ad's current state.

Approach

  1. I designed events to trace the ad lifecycle segment by segment — seven stages from request to click, among them ad_request, response, impression, failed and clicked.

  2. GA4 collected the events and BigQuery analysed them, which turned request → impression → failure → click into per-segment data.

  3. I specified and built a CMS that gathers company-wide ad data in one place: revenue, click-through rate, impressions, requests and failures, broken down by medium and by placement, so operators could read it without a developer.

  4. With that data I analysed the full path to impression. Comparing the execution order of the React bundle and the ad script showed the ad logic waiting on the bundle.

  5. I reordered the two so an ad request no longer depends on the whole application finishing execution.

  6. After deploying I measured P90 loading time with the same events, then followed the effect through to click-through rate and placement revenue.

System

Order of the ad request and the bundlewaitsHTMLbeforeReact bundleAd requestHTMLafterAd requestReact bundle
Fig. execution order

The ad request no longer waits for the bundle.

Before, the React bundle ran after HTML parsing and the ad request came after that. After, the ad request and the bundle no longer wait on each other.

Measured

P90 ad loading time

Before: 4–5 sAfter: 2–3 s

Measured with the same events before and after the reordering.

Ad click-through rate

+30%

Ads appeared sooner, so more of them were actually seen.

Revenue on that placement

+20%

The performance change was verified through to a business metric.

Instrumented events

7

The units that split the path from request to click.

Boundaries

  • The ad network's own response time was outside my control; what changed was the execution path on our side.
  • The CTR and revenue figures are for that placement, not for company-wide ad revenue.
  • Five of the seven event names are given because they are confirmed; the remaining names are omitted rather than guessed.
  • What the CMS displays combines data collected and aggregated through GA4 and BigQuery with metrics supplied by the ad platforms. The source data itself was not under my control.