Playbook · Discounts Allocator metafield missing
Shopify Discounts Allocator metafield missing? Prove multi-discount owners, candidates, and the active version.
Written for a Shopify owner whose Discounts Allocator (plural discounts / multi-candidate allocator) reads a metafield as missing across more than one discount candidate. Start with each Discount owner, the shared namespace.key, the multi-discount input query, and one active Function version. This is distinct from the singular Discount Allocator metafield missing playbook (one discount owner) and from discount Function stacking.
Nico at Latch AI Ops · Sep 17, 2026 · ~10 minute read
01
A plural Discounts Allocator miss is not automatically a single-discount allocator miss.
Use this page when the allocator considers two or more discounts and the shared metafield is absent, null, or empty on one or more candidates in the multi-discount input. If only one Discount owner is in play, use the singular Discount Allocator playbook. If fields are present but discounts refuse to combine, use Function stacking.
Do not add another definition or rewrite allocation logic yet. Capture the cart, each discount ID, candidate status, exact field, and the surface where the value should appear per candidate.
02
Prove each Discount owner and the shared namespace.key.
Open Settings → Custom data → Discounts and confirm the definition is owned by Discounts. Copy the exact namespace.key, type, validations, and access. Then open each active candidate discount and save one unmistakable, reversible test value on every owner the allocator can select.
A value present on only one of three candidates will look like a “missing” field when the allocator picks a different discount. Product, customer, cart, or order metafields will not appear because a Discounts Allocator query asks for Discount fields.
03
Check the multi-discount candidate set before blaming one 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 candidate IDs with the allocator input query and confirm each expected discount is returned.
A blank value on a candidate that never entered the allocator is a candidate-selection issue. Keep this separate from a valid multi-candidate set where one owner lacks the field while others have it.
04
Trace access, allocation across discounts, and the active Function version.
Compare the deployed input query with the definition and confirm the app has the intended access for every candidate. Verify the active Function version, generated schema, and selected discount context. A draft query, stale schema, inactive version, or wrong owner can make saved values disappear on some candidates only.
Inspect the field in the multi-discount input and the allocation result separately. Record whether it is absent, null, empty, or present but ignored when choosing among discounts. Do not conflate Discounts Allocator behavior with singular Discount Allocator pages, Payment Customization, or Checkout UI extensions.
05
Retest one multi-discount cart and preserve a small proof packet.
Use two or more known-eligible discounts, one short synthetic value per owner, and one known-valid cart. Record each discount ID, namespace.key, type, candidate eligibility, input-field presence per candidate, active version, selected allocation, and final checkout result. Repeat only after the first trace is captured.
Classify the miss as owner set, definition/value on one candidate, 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 across discounts. 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.