Overview
If you sell in person using Shopify POS, the printed receipt is one of the few things a customer takes home with them. That makes it an ideal place to ask for feedback on their visit.
Using the Shopify receipt visual editor, you can add a QR code to the header or footer of your printed receipts that links directly to one of your Grapevine on-site survey pages. Because the QR code is generated at the moment the receipt is printed, the link can include the ID of the order that has just been placed, meaning the response you receive is tied to that specific transaction.
This makes it a very effective way to run a CSAT or NPS survey about the in-store experience, answered once the customer gets home rather than while they are still at the counter.
Why link the survey to the order
Because the order was placed in store through a POS terminal, Shopify records which staff member processed the sale. When the survey response is linked to that order, Grapevine can surface those staff details alongside the answer.
Two fields are available on responses associated with a POS order:
POS staff member ID, the Shopify staff ID of the logged in staff member, available when the order channel is POS.
POS staff member, the name of the logged in staff member, available when the order channel is POS. (This field requires a Shopify Plus or Shopify Advanced plan.)
The practical benefit is that when a customer writes something like "the lady on the till was really helpful", you can see exactly who they are referring to. Over time this also lets you compare satisfaction scores by location and by team member, rather than only across the business as a whole.
Before you start
Please make sure the following are in place:
Your store is using the Shopify receipt visual editor. This is the default editor for printed receipts and is available on all Shopify POS subscription plans. If your location is still on the older code editor, Shopify is migrating stores across, and the code editor will be retired on 1 January 2027.
You have a receipt printer connected to Shopify POS so that you can print a test receipt.
You have created and published an on-site survey in Grapevine.
If you have not yet created an on-site survey, please take a look at our on-site survey pages overview article, which explains how these surveys work and how to publish one.
Adding the QR Code to your receipts
Build your survey URL
Every on-site survey has its own unique URL that uses your store's primary domain, for example:
https://mystore.com/tools/survey/6bf4e85446491
To link the response to the in-store order, add the order_id parameter to the end of that URL:
https://mystore.com/tools/survey/6bf4e85446491?order_id=
Leave the order_id parameter empty for now as we will merge the Shopify order ID variable into the URL in the next step.
When an order_id is present, Grapevine links the response to that Shopify order and, in turn, to the customer record associated with it. The personal detail fields will not appear on the on-site survey page, which means that the customer only has to answer the question and submit the survey.
Add a custom Liquid block to your receipt
The receipt visual editor lets you add blocks to the header and footer of your printed receipts without writing code. To generate a QR code, you will use one particular block type, the Custom Liquid block.
From your Shopify admin, go to Sales channels > Point of Sale.
In the Customize the in-store experience section, click Edit for Receipts.
Optional: use the location picker to select the location you want to customise.
In the Footer section, click Add block > Custom Liquid.
In the Liquid code field, add your prompt text and the QR code snippet.
Adjust the Top and Bottom padding values so the QR code has a little breathing room on the printed receipt.
Click Save.
The Liquid code
Replace the URL below with your own on-site survey URL:
{% unless return.name or gift_card.code %}
How did we do today? Scan below to tell us:
{{ 'https://mystore.com/tools/survey/6bf4e85446491?order_id=' | append: order.id | qrcode }}
{% endunless %}
Here is what each part does:
unless return.name or gift_card.code stops the QR code printing on return, exchange, and gift card receipts. See below for more on this.
The text on the second line prints as normal text above the QR code, prompting the customer to scan it.
The URL in quotes is your on-site survey link, ending with the empty order_id parameter.
append: order.id adds the ID of the order being printed to the end of the URL.
qrcode converts the finished URL into a printable QR code.
Keep the prompt short. Receipt paper is narrow, and a single clear line works better than a paragraph.
Keeping the QR code off other receipt types
Anything you add to the header or footer prints on every type of receipt, including returns and exchanges, gift receipts, and gift card receipts. A survey asking how the visit went is a poor fit for a refund receipt, so it is worth limiting where it appears.
Shopify makes two objects available that only populate on particular receipt types. The return object is present on return and exchange receipts, and the gift_card object is present on gift card receipts. Neither is present on a sales receipt, so wrapping your block in {% unless return.name or gift_card.code %} prints the QR code on sales receipts and suppresses it elsewhere.
Gift receipts are the exception. They are a variation of the sales receipt and carry neither object, so the QR code will still print on them. If that matters for your store, it is worth thinking about whether the wording of your prompt still makes sense to someone who received the item as a gift.
Preview and test
Before rolling this out across your locations, please check that the QR code both prints and scans correctly.
In the preview pane of the receipt editor, use the receipt type drop-down to view the Sales receipt.
In the Preview options menu, select the printer type you use, either the 80 mm or 57 mm format.
Print a test receipt from a connected receipt printer.
Scan the printed QR code with a phone camera and confirm it opens your survey page.
Answer and submit the survey, then check in the Grapevine Surveys app that the response has been linked to the correct order.
Testing with a real printed receipt matters here. A QR code that looks fine on screen can still scan poorly once it is printed small, or on a 57 mm roll.
Things to be aware of
Please review the following before you go live:
Custom Liquid blocks do not render for offline checkout orders. If a sale is completed while the POS device is offline, the QR code will not appear on that receipt.
Gift receipts will still show the QR code. The conditional statement within the liquid code suppresses the QR code on return, exchange, and gift card receipts, but a gift receipt is treated as a variation of the sales receipt and will still print it.
Location customisations are separate. By default, changes apply to all POS locations. Once you customise an individual location's template, later changes to the default template will not apply to it.
Repeat scans are handled for you. If a response has already been logged against that order ID, the customer will see your Response already submitted message rather than a blank survey. You can customise this message within the survey settings.
Styling is limited. Custom CSS and fonts are not supported on printed receipts, and uploaded images print in greyscale.
A good survey to start with
Keep it to a single question so that the customer can answer it in seconds on their phone.
A CSAT question works well for measuring the visit itself, for example "How satisfied were you with your visit today?".
An NPS question is better suited to measuring overall sentiment towards your brand, for example "How likely are you to recommend us to a friend or colleague?".
In both cases, adding a follow up open text question to the survey gives customers room to explain their score, and it is here that staff members are most often mentioned by name.
Also worth knowing
If you want your in-store team to be able to open a survey directly on the POS device, rather than printing a link for the customer to take away, you can add an on-site survey as a POS tile. Take a look at our article on accessing on-site surveys via Shopify POS tiles.
Need any help?
If you need a hand setting up a survey QR code on your POS receipts, or you would like advice on which question type to use, then please do just get in touch and we will do our best to help.



