Automate client feedback with our MCP serverLearn more!

Shopify website feedback before customers see it

Review an unpublished copy of your theme, pin every problem to the element that caused it and keep the live store untouched until you are ready.

A safer way to review a store

A duplicate theme gives you somewhere to install, review and fix without touching live.

Script on a duplicate

Script on a duplicate

Paste it before the closing head tag on your theme copy.

Or skip the code

Or skip the code

The Chrome, Firefox or Edge extension needs no theme edits.

Live theme stays untouched

Live theme stays untouched

Review the copy and publish only when it passes.

Cart problems pinned

Cart problems pinned

Raise drawer, quantity and discount issues against the exact element.

Device details on tasks

Device details on tasks

Browser, OS and screen size arrive with each task on Lite and above.

Video for awkward bugs

Video for awkward bugs

Record your screen and voice when a bug takes several steps.

Show the path to a broken cart

Cart bugs often need a specific variant, quantity and discount to appear. Record your screen and voice so the developer sees each step.

One phone, or every phone?

Browser, OS and screen size are captured on tasks on Lite and above, so you can tell a theme bug from a single device before changing code.

To collect feedback on a Shopify store, duplicate your theme, paste the QualityHive script into theme.liquid on the copy and review it through Shopify's preview. If you would rather not edit code, the Chrome, Firefox or Edge extension works with no theme changes.

Add the script to theme.liquid

  1. In your Shopify admin go to Online Store, then Themes, and duplicate your live theme so you are not editing what customers see. Shopify recommends a duplicate as a backup too.

  2. On the copy, open the three-dot menu and choose Edit code.

  3. Open theme.liquid in the Layout folder.

  4. Paste your script just before . Leave the content_for_header line where it is, because Shopify requires it in the head and says not to modify it.

  5. Save, then click Preview on the copy and sign in to QualityHive in the same browser.

New stores are private by default, so anyone reviewing will need the storefront password as well. The tracking code guide covers where to find your script.

QualityHive's guest link loads your site in a frame from app.qualityhive.com. A live Shopify storefront we checked in November 2026 sent X-Frame-Options: DENY and a frame-ancestors 'none' policy, and a theme cannot change either header. Treat guest links as unavailable on Shopify and use the widget script or the browser extension instead.

Both routes need the reviewer signed in as a member of your project, so each reviewer takes a seat. Free has 1 member, Lite 2, Essential 5, Mega 10 and Colossal 30. If a client only has a handful of comments, raising them on their behalf may be quicker than adding a member.

Shopify offers two kinds of preview. A visitor preview opens for anyone with the URL and expires after 2 days, so expect to reissue it during a longer review. A merchant preview needs an admin login, lasts 30 days and has access to checkouts, so use that one for the buying path.

What the widget cannot reach: checkout

The script lives in your theme's layout and Shopify's checkout does not render that layout. checkout.liquid is unsupported for the Information, Shipping and Payment steps, so adding a script there is not an option. Expect the widget to stop at the cart.

Test checkout by hand instead. Shopify's test options are its test payment gateway or Shopify Payments test mode, and Shopify says you need a paid plan to test a payment gateway. Log what you find on the last page the widget reaches and name the checkout step in the task.

While you are there, check shipping rates for each country you sell to, tax display, discount codes, express payment buttons and the order confirmation email.

Shopify QA list

Cart states

State

What to check

Empty cart

A message and a way back to products

One item

Image, variant name and price match the product page

Quantity changed

Line total and subtotal update without a reload

Sold-out variant

Button disabled, including on any quick view

Discount applied

Code or automatic discount shows on the line and the subtotal

Drawer and cart page

Both behave the same if your theme offers both

Apps

  • Compare app blocks and app embeds on the copy against the live theme, so you are testing what customers will get.

  • Check review widgets, upsells and popups do not cover buttons on a phone.

  • When something conflicts, turn off one app embed at a time in the theme editor.

Theme and catalogue

  • Test every product template with a long title, many variants and a missing image.

  • Check collection filters and sort orders, then paginate to the last page.

  • Search for a product that does not exist and read the empty results page.

Before you publish, take the script off the copy if you will not need it again, then work through our Shopify launch checklist.

Ready to get started?

Try it free for 14 days on Mega, then keep going on our free plan for as long as you like. No card required.

Sign up for a free trial!

Common questions

Do not plan on it. The guest link loads your site in a frame, and Shopify storefronts send headers that block framing which you cannot change from a theme. Use the widget script or the browser extension, with reviewers signed in as project members.

Review your next Shopify theme without touching live

Start free with no card required and add one script to a duplicate theme.

Sign up for a free trial!

Start looking forward
to feedback

14 day free trial

Full-fat features, free for 14-days

QA Specialists

Video support included in our minimum plan

Team Mates Included

Quick and easy set up, No card required

footer base hillsfooter base treesfooter base cloudsfooter base dashboard