Playbook · Offline ID token metafield missing
Shopify offline ID token metafield missing? Prove the shop owner, scopes, and session read.
Written for a Shopify app owner whose offline access / ID token session succeeds but the shop metafield the app needs is missing. Start with the shop owner, namespace.key, granted scopes, and what the offline session actually reads—not with a full OAuth rewrite. This is distinct from app proxy metafield missing, webhook metafield blank, and app proxy metafield blank.
Nico at Latch AI Ops · Sep 17, 2026 · ~10 minute read
01
A missing offline metafield is not the same bug as OAuth redirect failure.
Use this page when the offline ID token or offline access token is issued and Admin API calls authenticate, but the expected shop metafield is absent, null, or never returned to the app session. If install redirects fail or scopes were never granted, fix OAuth / app installation first. If webhooks fire without metafields, use webhook metafield blank.
Capture shop domain, app client ID, offline session ID (redacted), namespace.key, and the exact Admin API query before rotating secrets or reinstalling.
02
Prove the shop owner and exact namespace.key the offline session expects.
Confirm the metafield is on the Shop resource—not a staff member, app installation stub, or company. An app-data metafield will not appear because the offline query reads a shop-level key. Record the myshopify domain and shop GID.
Copy the exact namespace.key, including case. Do not create a duplicate definition because its label looks identical in Admin Custom data.
03
Check type, access, granted scopes, and a saved reversible test value.
Record the definition type and whether Admin / Apps can read it. Confirm the offline token's granted scopes include the metafield read your query needs (for example read_products vs read_metaobjects). Save one unmistakable, reversible test value on the shop, refresh Admin, and confirm it persists. If Admin itself has no value, the offline session will correctly look empty.
Keep access tokens, client secrets, and customer data out of screenshots. Treat absent, null, empty string, and empty list as separate observations.
04
Inspect offline ID token and session storage reads separately from online tokens.
Compare an online session token path with the offline ID token / offline access token path. Separate: online token works but offline session never stores the metafield, offline token missing scopes, app queries the wrong shop GID after transfer, or session cache serves a pre-install blank snapshot.
Offline flows often read shop metafields once at install and cache them. A correct Admin value written after install will look missing until the offline session refreshes its shop snapshot.
05
Retest one offline session and preserve the proof.
Use one shop, one offline session, and one known namespace.key. Record shop GID, namespace.key, type, saved test value, granted scopes (names only), Admin GraphQL snippet, and app session output with secrets redacted. Re-run the offline read only after the first Admin value is captured.
Classify the miss as owner, definition/value, scopes, offline cache, or OAuth install instead. Keep it separate from app proxy auth, webhook HMAC, and theme app extension metafields.
06
When to stay DIY vs pay $997.
Stay DIY when one shop owner, scope, or offline-cache check explains the missing field. Keep the proof packet so future app installs are reversible.
Pay for the $997 one-time install when several Shopify surfaces, apps, and ops alerts need to be wired and documented on one live store. Nico at Latch AI Ops can connect the agreed workflow in a 72-hour window after collaborator access. No earnings claim, conversion guarantee, or theme rebuild is included; owner passwords are not requested.