CatchDrift

Incident detail

Tracking dropped after deployment v42

Recovered

CatchDrift identified this failure 14 minutes after deployment abc123, with $640 of spend currently exposed and $3,840 in potential daily exposure.

Paid traffic continued at $900/hour, but attributed conversions fell from 40 to 39. The strongest related change was deployment v42, which removed the click ID from the landing-page redirect.

Spend protected

$640

Time to detection

14 min

Campaigns monitored

1

Estimated loss avoided

$640

Incident cause

Deployment abc123

Executive incident brief

CatchDrift detected a likely attribution failure affecting the Meta Prospecting campaign. Spend and clicks remained normal, but attributed sessions dropped 82% following deployment abc123. Estimated spend currently exposed: $640. Recommended action: verify the landing-page tracking script introduced by deployment abc123.

Why we believe this

Signal degradation exceeded threshold and persisted for required intervals while spend remained active.

Evidence

Spend and clicks stayed flat while sessions and attributed conversions dropped immediately after deployment.

Recommended investigation

Confirm click_id forwarding in redirect behavior, script load order, and attribution parameter handling.

What CatchDrift intentionally did not automate

CatchDrift did not pause campaigns, edit spend, or auto-rollback deployment changes.

Incident resolved

CatchDrift verified that session and conversion signals returned to expected range for three consecutive evaluation windows.

  • Estimated exposure limited: $640
  • Potential daily exposure: $3,840
  • Detection time: 14 minutes

Release change

Before: /apply?click_id={{click_id}}
After:  /apply

Why CatchDrift flagged it

  • Click-to-session loss increased from 3.9% to 18.1%.
  • Attribution rate fell from 95.2% to 75.0%.
  • The drop persisted for 3 intervals.
  • Deployment v42 occurred 0 minutes before the change.
  • No competing deployment occurred nearby.

This does not prove deployment v42 caused the issue. It is the strongest change associated with the timing and affected path.

Estimated exposure

  • Observed during replay: $230-$310/hour
  • Potential exposure with a 90-minute reporting delay: $344-$465

The second value is hypothetical exposure under delayed discovery, not confirmed loss.

Recommended action

Inspect click-ID forwarding in deployment v42 and compare redirect behavior before and after the release.

Recovery

  • Corrective deployment: v43
  • Required recovery intervals: 3
  • Completed recovery intervals: 3
  • Recovery timestamp: 7/3/2026, 11:29:27 PM
View technical evidence
ConditionObservedThresholdState
Spend active$900/hour$300/hour minimumPass
Click-to-session change14.2%8.0%Pass
Attribution change21.2%12.0%Pass
Persistence3 intervals3 intervalsPass
Required source freshnessAll required sources fresh at evaluation timeall required sources decision-readyPass

Correlation score components

  • Total score: 100 (strong)
  • Campaign mapped: 40
  • Tracking-sensitive change: 25
  • Temporal proximity: 20
  • Healthy before deployment: 10
  • No competing deployment: 5

Recovery evidence

  • Detected at: 7/3/2026, 11:29:23 PM
  • Recovered at: 7/3/2026, 11:29:27 PM
  • Current status: recovered
  • Changed field: redirectUrl

Evidence timeline

Baseline and degraded intervals with spend, revenue, click loss, and attribution rate.

Raw evidence

{
  "evidence": [
    {
      "evidence_type": "baseline",
      "evidence_json": {
        "hourlySpend": 900,
        "hourlyRevenue": 1260,
        "attributionRatePct": 95.23809523809523,
        "clickToSessionLossPct": 3.902439024390244
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    },
    {
      "evidence_type": "threshold",
      "evidence_json": {
        "persistenceIntervals": 3,
        "clickLossIncreasePoints": 8,
        "attributionDeclinePercent": 12
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    },
    {
      "evidence_type": "metric",
      "evidence_json": {
        "current": {
          "hourlySpend": 900,
          "hourlyRevenue": 864,
          "attributionRatePct": 75,
          "clickToSessionLossPct": 18.072289156626507,
          "clickLossIncreasePoints": 14.169850132236263,
          "attributionDeclinePercent": 21.249999999999993
        },
        "degradedStreakCount": 3,
        "evaluationWindowEnd": "2026-07-03T23:09:14.000Z",
        "evaluationWindowStart": "2026-07-03T22:54:14.000Z"
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    },
    {
      "evidence_type": "deployment",
      "evidence_json": {
        "score": {
          "band": "strong",
          "total": 100,
          "components": {
            "campaignMapped": 40,
            "temporalProximity": 20,
            "noCompetingDeployment": 5,
            "healthyBeforeDeployment": 10,
            "trackingSensitiveChanged": 25
          }
        },
        "candidate": {
          "id": "f08ca69f-be79-4fdd-b576-ccc7293c5862",
          "source": "github",
          "version": "v42",
          "campaign_id": "4a388fb7-7a04-4116-8298-ab78e0d9d5f1",
          "deployed_at": "2026-07-03T22:54:14.883Z",
          "changes_json": [
            {
              "path": "redirectUrl",
              "nextValue": "/apply",
              "previousValue": "/apply?click_id={{click_id}}"
            }
          ],
          "external_deployment_id": "deploy-v42"
        }
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    },
    {
      "evidence_type": "exposure",
      "evidence_json": {
        "low": 229.53,
        "high": 309.67,
        "hourlySpend": 900,
        "calculationVersion": "exposure_v1",
        "revenueRateDeficit": 396,
        "affectedFractionLow": 0.2550318346556959,
        "affectedFractionHigh": 0.3440794537033149
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    }
  ],
  "events": [
    {
      "event_type": "created",
      "actor_type": "system",
      "details_json": {
        "ruleId": "tracking_integrity_failure",
        "ruleVersion": 1,
        "degradedStreakCount": 3
      },
      "created_at": "2026-07-03T23:29:23.812Z"
    },
    {
      "event_type": "recovered",
      "actor_type": "system",
      "details_json": {
        "reason": "metrics_returned_to_baseline"
      },
      "created_at": "2026-07-03T23:29:27.920Z"
    }
  ]
}