Skip to main content

SDK Health

A coded funnel fails quietly: a pixel blocked by your Content-Security-Policy, a step renamed in the code but not in the manifest, an Apple Pay domain never registered. The visitor sees nothing wrong and the numbers just drop. SDK health is the list of these silent failures, computed from what the Headless SDK reports from your visitors’ browsers. It is one report, shown in three places:
  • on the canvas: the step cards and their drawer show the checks that concern them;
  • in your terminal: npx tagada funnel check;
  • in code: tagada.funnels.health(storeId, funnelKey?) from @tagadapay/node-sdk.
A store with no coded funnel has no report: it answers ran: 0 and the canvas shows nothing.

From the terminal

Each check prints its title, what was seen, and the fix. Then one line per package (headless-sdk and core-js as your visitors run them, node-sdk as it last pushed) with the latest version and how the two compare. The command exits 1 when at least one check is an error, so you can run it in CI after a deploy.

The report

  • fix.kind says how to read fix.value: a command to run, an instruction to give your developer or your AI assistant, a place on the canvas (node:<card id>, flow:<store id>), or a CRM page.
  • scope is sdk (the whole funnel), step:<funnel>/<step>, event:<funnel>/<step>/<event>, destination:<provider>, wallet:applePay or wallet:googlePay.
  • A check that cannot be evaluated — no data yet, a provider that did not answer — is left out, never reported as ok.
  • For packages, current is the latest release or any newer version, outdated is a major or three minors behind the latest, recent is anything in between, and unknown means no version was reported.

The checks

The signals behind these checks are what the SDK sends from your visitors’ browsers, kept at most once a minute each. “Recently” means in the last 7 days.

Errors

Warnings


In the browser

tagada.track.health() answers for the current page only, without asking the server: whether tracking is on, the funnel key, which pixels loaded, and what was blocked on this page. Use it while you develop; use funnel check for what happens across all visitors.