Playbook · selling plan metafield blank
Shopify selling plan metafield blank — prove the owner, value, access, and subscription context.
Written for a Shopify DTC owner whose selling plan metafield or custom field exists in Admin or an app but never appears where it should. Start with the resource owner, exact namespace.key, saved value, and the product/variant selling plan that should carry it. This is not the separate problem of a subscription widget missing or a billing attempt failing.
Nico at Latch AI Ops · Sep 17, 2026 · ~10 minute read
Buy the 72-hour install — $997Widget not showingBilling failedMerchant FAQ
01
A selling plan field is blank — not automatically a missing subscription widget.
This page is for a field attached to a selling plan or its real resource that is blank or invisible in Admin, an app, an API response, a theme surface, or an extension. A missing Subscribe & Save selector is a different path; use the selling plan widget playbook. A failed renewal is a different path; use the billing attempt playbook.
Do not create a second field or install another app yet. First identify the owner, exact resource, key, value, and destination where the value should render.
02
Prove the selling plan definition, namespace.key, and exact value.
Open Settings → Custom data or the app-owned definition surface and confirm what owns the field. A product metafield, variant metafield, selling plan group property, subscription contract field, and shop metafield are not interchangeable. Copy the exact namespace.key, type, validations, and access setting.
Then open one selling plan that is actually assigned to a product or variant. Confirm the value is filled and saved on that selling plan or its documented owner, not only on a draft, duplicate, or plan template. If the owner is app-controlled, note the app and the write path before changing the definition.
03
Check namespace.key, type, API access, and resource path before changing code.
For an Admin API or app read, verify the app has the intended scope and is querying the selling plan resource rather than only the product or variant. Confirm the API version, returned namespace/key, and whether the field is omitted, null, or present with an empty value. Those are different clues.
Check type and serialization too: plain text, number, reference, list, and JSON-like values do not render alike. Test one short text value through the same read path, then restore the intended type only after the path is proven. Never paste an accessor from the product context into a selling plan context.
04
Trace the product, variant, selling plan, and live storefront context.
A field can be valid but absent because the product has no selling plan group, the selected variant is not eligible, the theme sends only one-time id and quantity, or the app reads a different selling plan than the one selected in the widget. Capture one product handle, variant ID, selling plan ID, and the exact subscription path.
For Liquid, a theme app block, or a custom app, compare the expression with the resource on the page. Inspect the rendered DOM or API response, not only the editor preview. If the whole purchase option is missing, leave for selling plan not showing; if the charge fails later, leave for billing attempts.
05
Retest one known selling plan and record the evidence.
Use one product with one assigned selling plan and a short unmistakable test value. Save it, wait for the relevant sync or cache window, then inspect the exact Admin, API, app, or storefront surface where it should appear. Test logged out when the destination is customer-facing.
Record the product and variant IDs, selling plan ID, namespace.key, type, API version, response shape, theme/app version, and timestamp. If the value appears, stop. If it remains blank, the evidence should identify definition, write, access, resource context, publication, or empty-value handling—not a guessed fix.
06
When to stay DIY vs pay $997.
Stay DIY if the work is confirming the selling plan owner, saving one value, fixing namespace.key or access, and wiring the current render path. This page is the checklist.
Pay for the Latch AI Ops install when you want Nico to connect the stack you already use so lead capture, ops alerts, and a checkout-ready workflow are handled together. $997 USD one-time buys that install for one live Shopify store, with a 72-hour delivery window after collaborator access. It does not buy more orders, recovered revenue, a conversion guarantee, or a theme rebuild. Checkout is on Whop; owner passwords are not requested.