Skip to content
Accounts are by invitation while we set up the first stores.Book a call
GROWTH DEPT.ACR

A merge field came through empty

A field with no value becomes blank text. See what the shopper received, where each field gets its value, and how to fix the gap.

Last reviewed November 7, 2026

What ACR does with a missing value

ACR replaces a merge field with nothing when it has no value. It never shows the raw {{ first_name }}, there is no fallback text to set, and the step still goes out. A name ACR does not know, such as {{ company }}, is treated the same way.

Texts and messages you wrote yourself get a small clean-up, so Hi {{ first_name }}, becomes Hi,. Subject lines and ACR's default email copy do not, so a gap can show there.

See what went out

  1. Open the lead from Leads. Under Interactions, press View on the message. The drawer shows the text as sent, or the transcript for a call.
  2. Press Metadata at the top of the lead's page. Checkout context lists the values ACR stored from the source.
  3. Open the run from Campaign runs. A box at the top shows the cart total, items and cart link. If there is no box, the run has no checkout behind it, and the cart fields are blank.

Run a test on Review & launch fills in a sample cart, so it will not show what a real lead's data leaves out.

Where each field gets its value

FieldComes fromBlank when
{{ first_name }}, {{ last_name }}Shopify: the customer, then the shipping and billing addresses. Custom API: first_name and last_name, then shipping_details. CSV columns or the lead form.The source has no name.
{{ brand_name }}, {{ agent_name }}The brand profile and the agent's profile.Never.
{{ total_price }}, {{ currency }}The run's checkout, then values saved on the lead. Custom API: final_price, in the store's currency.No checkout and nothing saved on the lead.
{{ line_items }}, {{ item_count }}Items on the run's checkout, with at most four named. Custom API: the names in items. The count is cart lines, not units.The run has no checkout, as with a lead added by hand, imported or assigned.
{{ discount_code }}The first standard code on the Offer step.The campaign offers no discount.
{{ discount_codes }}Codes already applied at checkout. Custom API: discount_codes.No code on the checkout.
{{ cart_link }}General settings. Static: the Link for every shopper. Dynamic: the checkout's link, then the lead's. Custom API or CSV: cart_link.A dynamic link with none sent, or one that does not start with http or https.
{{ shipping_address }}shipping_address or shipping_city in the lead's context. Custom API: send one under context.Always for Shopify leads: ACR stores the shipping country and province, with no street or city.
{{ shipping_price }}Shopify: the shipping lines, which read 0 when there are none. Custom API: shipping_price under context.The source sends none.
{{ support_email }}The brand profile.Never on a published campaign: publishing needs one.

Other values under context do not become merge fields. Merge fields has the full list.

Close the gap

  • Fix the source. Send the field from your system, add the CSV column, or press Edit on the lead. ACR fills fields when each step goes out, so later steps pick up the new value.
  • Change the message. In a step with Write this message myself on, leave out fields your source may not send. A step with that switch off is written by the agent, which is given only the values it has. If the text AI is unavailable, the step falls back to ACR's default copy, which uses {{ first_name }} and {{ cart_link }}, and in emails {{ line_items }}.
  • Check the greeting. Calls get the same values. The default greeting is Hi, is this {{ first_name }}?, which has nothing to fill in for a lead with no first name. If your source often lacks one, change Greeting on the Agent settings step.
Did not find what you need? Write to hello@growthdept.ai and the Growth Dept team will answer.