Playbook · delivery customization metafield blank

Shopify delivery customization metafield blank? Prove the owner, value, input, and rate path.

Written for a Shopify DTC owner whose delivery customization metafield or custom field exists in Admin or an app but is blank in a Function input, shipping-rate decision, or checkout. Start with the resource owner, exact namespace.key, saved value, and one rate context. This is not a general Delivery Customization Function that fails to hide, rename, or reorder rates.

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

Buy the 72-hour install — $997Function behaviorCart TransformMerchant FAQ

01

A blank delivery customization field is not automatically a shipping-rate behavior bug.

Use this page when the value itself is missing: a definition is empty, an app shows blank data, or the Function input omits a field you expected. If the value is present and the Function still leaves rates unchanged, use the Delivery Customization Function behavior playbook instead. Carrier callback timeouts and wrong native rates are separate paths too.

Do not add a second metafield or install another shipping app yet. Capture the shop, market, cart, delivery option, and exact surface where the value is supposed to appear.

02

Prove the delivery customization resource, definition, and exact saved value.

Open Settings → Custom data and confirm the definition is owned by the resource your implementation reads. Record the exact namespace and key, for example shipping.delivery_note, the type, validations, and whether it is a plain value, list, reference, or JSON value.

Open one active delivery customization or the exact shop/cart/market record used by the app. Save a short unmistakable test value, refresh, and confirm it survives. A filled definition, a value on a draft record, or a label that only looks right is not proof.

03

Check access, type, namespace.key, and the Function input query together.

Compare the saved definition with the Admin API query and the Delivery Customization Function input query. The query must select the same namespace.key on the same resource, and the app must have the intended access scope. A successful request can still omit metafields, select another owner, or serialize a reference/list differently than the code expects.

Verify the version running at checkout is Active, not a draft. Log the field presence without logging customer data or secrets. If a plain text test arrives but the intended reference does not, fix type-specific parsing rather than changing the shipping rule.

04

Trace one active market, cart, delivery option, and published checkout path.

A delivery customization can be context-sensitive. Record the market, currency, destination, cart contents, shipping profile, delivery group, and rate handle used in the test. Confirm the metafield belongs to that context and that the current checkout profile is the one published to buyers.

Keep the diagnosis distinct from the Cart Transform and Fulfillment Constraint paths. They can affect the same cart while reading different resources and fields.

05

Retest one delivery option and keep a small proof packet.

Use one cart and one destination. Record the resource ID, namespace.key, type, saved test value, Function version, input field presence, output operation, and the final checkout rate. Repeat logged out if the result is customer-facing, then test a second market only after the first path is proven.

If the field is still blank, classify it as definition/value, access/query, resource context, inactive version, or type parsing. Do not call a rate rename/hide failure until the input value is demonstrably present.

06

When to stay DIY vs pay $997.

Stay DIY when one definition, saved value, input query, or active-version check explains the blank. Keep the proof packet so future shipping changes are reversible.

Pay for the $997 one-time install when several Shopify surfaces, apps, markets, 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.