Playbook · Discount Allocator metafield missing

Shopify Discount Allocator metafield missing? Prove the owner, candidates, value, and active version.

Written for a Shopify owner whose Discount Allocator Function reads a metafield or custom field as blank, so an eligible discount is absent from the allocator input or allocation result. Start with the exact Discount owner, namespace.key, candidate set, and one active Function version. This is distinct from a generic discount metafield missing page and from discounts that simply will not stack.

Nico at Latch AI Ops · Sep 17, 2026 · ~10 minute read

Buy the 72-hour install — $997Discount fieldMerchant FAQ

01

A Discount Allocator field miss is not automatically a stacking failure.

Use this page when the allocator input omits a field, an eligible candidate looks empty, or the allocation result cannot explain the missing value. If the field is visible but two discounts refuse to combine, use the Function stacking playbook instead. If the field is missing everywhere, start with the generic discount metafield checklist.

Do not add another definition or change allocation logic yet. Capture the cart, discount IDs, candidate status, exact field, and surface where the value should appear.

02

Prove the Discount owner, namespace.key, type, and saved value.

Open Settings → Custom data → Discounts and confirm the definition is owned by Discounts. Copy the exact namespace.key, type, validations, and access. Then open one active discount and save one unmistakable, reversible test value on that exact discount.

A product, customer, cart, or order metafield will not appear because a Discount Allocator query asks for a Discount field. Confirm that the allocator is not reading a code or price rule object by mistake.

03

Check the candidate set before blaming the metafield.

Record which discounts qualify for one test cart: market, customer or company context, dates, channels, product or collection eligibility, minimums, usage limits, and combination settings. Compare the candidate IDs with the allocator input query and confirm the test discount is actually returned.

A blank value on a candidate that never entered the allocator is a candidate-selection issue, not proof that the metafield is blank. Keep this separate from a valid candidate whose field is present but whose allocation rule chooses another discount.

04

Trace access, allocation logic, and the active Function version.

Compare the deployed input query with the definition and confirm the app has the intended access. Verify the active Function version, generated schema, and selected discount context. A draft query, stale schema, inactive version, or wrong owner can make a saved value disappear.

Inspect the field in the allocator input and the allocation result separately. Record whether it is absent, null, empty, or present but ignored by the rule. Do not conflate Discount Allocator behavior with Discount Function stacking, Payment Customization, or Checkout UI extension rendering.

05

Retest one known candidate and preserve a small proof packet.

Use one known-eligible discount, one short synthetic value, and one known-valid cart. Record the discount ID, namespace.key, type, candidate eligibility, input-field presence, active version, selected allocation, and final checkout result. Repeat only after the first trace is captured.

Classify the miss as owner, definition/value, access, candidate eligibility, query, inactive version, or allocation logic. Keep customer data, tokens, and passwords out of screenshots and logs.

06

When to stay DIY vs pay $997.

Stay DIY when one owner, value, candidate, access, query, or active-version check explains the missing field. Keep the proof packet so later discount changes are reversible.

Pay for the Latch AI Ops install when several Shopify surfaces, apps, markets, and ops alerts need to be wired and documented on one live store. Nico connects 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.