Skip to content

Troubleshooting

SymptomLikely CauseFix
getPlacement returns null unexpectedlySlot/surface mismatch or no eligible payloadVerify slotId, surfaceType, and payload targeting. Start with createSlotPlacementRequest(...).
Entitlement checks always allowRuntime fallback path active due to endpoint failureVerify endpoint availability and auth headers. In local-only mode, seed entitlementByHandle.
CTA path not firing expected actionPayload action field mismatch (cta_path vs legacy shape)Use canonical cta_path in payloads and parse via PlacementRenderer.
Decisions feel staleCache TTL too longLower ttlMs in decision requests or call refresh flows explicitly.
Interactions not visible in backend telemetryIngestion endpoint misconfiguredValidate ingestEvents/touchpointTransition endpoint wiring and auth.
Runtime mode behavior is incorrectWrong mode or incomplete mode configRe-check mode selection in the runtime modes guide and use mode helper builders.
Console warns primary provider failedProvider chain is failing and SDK entered fail-closed modeConfigure providerFallbacks, verify provider health, and choose providerFailureSlotBehavior intentionally.
Type is unknown from SDK routeContract/schema title mismatchEnsure the SDK version matches the schema version and reinstall.
Build fails after SDK API changesMissing migration updates in caller codeMigrate to object-style request helpers and rerun typecheck.

When all configured providers fail for getPlacement, checkEntitlement, or identify, the SDK disables itself to avoid inconsistent behavior.

In this state:

  1. The SDK logs warning messages to the console.
  2. Placements render as hidden (invisible) or safe placeholders (placeholder) depending on providerFailureSlotBehavior.
  3. Entitlement checks return allowed with a fallback reason so the app can keep functioning safely.
  1. Run API type checks:

    Terminal window
    pnpm typecheck:sdk-api
  2. Run web build:

    Terminal window
    pnpm build
  3. Validate SDK docs generation:

    Terminal window
    pnpm docs:sdk