Knowledge base

Frequently Asked Questions

Every question in Squarify's in-app Knowledge Base, in one place - search across all of it, or filter down to one topic.

111 questions total

Getting Started

What is Squarify?
Squarify moves your Square data - products, customers, gift cards, discounts, collections, and URL redirects - into Shopify, so you can switch platforms without starting from scratch. You review and configure each migration type, then run it with real-time progress and a downloadable report.
Is my Square data safe? Does Squarify change anything in Square?
Yes, it's safe. Squarify only reads from Square - it never creates, edits, or deletes anything there. All the changes it makes happen on the Shopify side only.
What Square account access do I need to connect?
Owner-level access to your Square account. Square's own secure sign-in screen requires this to authorize any third-party app, Squarify included - a staff login with limited permissions won't be able to complete the connection.
What permissions does Squarify request from Square, and why?
Five scopes, each tied to a specific migration type: Products Catalog (items, variants, images, stock levels), Customers (contact details and groups), Gift Cards (codes, balances, expiry), Merchant Info (your business profile, used to label reports and confirm the connection), and Vendors (vendor names applied to migrated products). Squarify only ever requests the *_READ version of each scope - Square offers separate write scopes for these same categories, and Squarify never asks for them.
What can I migrate with Squarify?
Products & Variants - titles, pricing, images, inventory per location, and taxonomy category. Customers - contact details, addresses, and marketing consent. Gift Cards - codes, balances, and expiry dates. Discounts - discount codes and automatic discounts recreated from your Square rules. Collections - built automatically from your Square categories. Product Weight + Online Price - a lightweight CSV-based update for product weight and/or Square's Online Sale Price, for products already in Shopify. Inventory Sync - keeps stock levels current after your initial migration. URL Redirects - so old Square product links still work after you switch. Each type has its own settings page, migration history, and downloadable report.
Does Squarify migrate my website's overall SEO settings (meta tags, site config) from Square Online?
No - only product-level SEO. During Product Migration, Squarify brings over each product's own SEO title and meta description (from Square's ecom_seo_data), and separately uses its Square Online SEO permalink as a fallback match for URL Redirects. It does not migrate site-wide settings from Square Online - things like global meta tags, robots/sitemap configuration, Open Graph defaults, favicon, custom scripts or tracking pixels, or page layouts and custom sections. Those live in Square's website settings, which Squarify has no access to at all; you'll need to recreate them directly in Shopify (Online Store > Preferences, and your theme's settings).
Does Squarify migrate my Square orders or sales history?
No. Squarify migrates catalog and account data - products, customers, gift cards, discounts, collections, and redirects - not past orders or sales history.
Will migrating affect my live Shopify store while it's running?
No - your store stays online and usable the whole time. Migrations write new or updated records in the background; there's no downtime or maintenance mode.
About how long will a migration take?
It varies, but as a rough guide: Squarify deliberately paces every update it sends to Shopify to stay comfortably within Shopify's limits, so that pacing - not Squarify's own speed - is usually what sets the floor. Products take the longest per item since each one involves several pieces (the product itself, its images, its stock at every location), roughly 1-2 seconds each on average - so a few hundred products usually finishes in well under 30 minutes, and a catalog in the thousands can take a couple of hours. Customers, Gift Cards, Discounts, and Collections are simpler and typically process in well under a second each, so even a few thousand records usually finishes in minutes. Inventory Sync only touches items whose stock actually changed, so it scales with how much changed, not your total catalog size. These are approximations, not guarantees - actual time depends on your catalog's size and Shopify's response times at the moment you run it.
How do I choose what to migrate?
Right after you connect Square, Squarify asks which data types you want to bring over - Products, Customers, Gift Cards, and/or URL Redirects. Pick at least one and save to continue. You can select more than one, and change your selection anytime afterward from Settings.
Can I change what I'm migrating later?
Yes - your selection is never locked. Go to Settings > What You're Migrating to add or remove data types anytime. The one exception: you can't uncheck a type while a migration or scheduled run for it is currently active.
Why can't I uncheck a data type in Settings?
A type is locked (shown checked and disabled, with a note explaining why) while a migration for it is actively running or paused, or while a scheduled run is queued - unchecking it mid-run could leave things in an inconsistent state. Once that run finishes (or the schedule completes/is cancelled), the checkbox unlocks again.
Why are ALL the cards in "What You're Migrating" disabled, not just the one that's running?
If any data type has a migration actively running/paused or a scheduled run queued, the whole checklist locks, not just that one card, and you'll see a warning explaining why. Changing an unrelated type's selection while something else is running risks the dashboard checklist and cards flickering mid-run, so nothing here is editable until that migration or schedule finishes - then every card unlocks again as normal.
What does the checklist on my dashboard mean?
"Your Migration Checklist" shows each data type you chose to migrate, with its current status: Not started, In progress, or Completed. It updates automatically as you run migrations - there's nothing separate to manage here.
Why does a migration card say "Excluded"?
That data type isn't part of your current migration selection, so its card is dimmed with a link to update your choice in Settings instead of a working link to that migration page. Nothing is deleted or lost - add it back from Settings > What You're Migrating whenever you want to migrate it.
What does "one-time migration" mean, and what happens once I finish?
"One-time" means Squarify copies your selected Square data into Shopify once, on your schedule - it doesn't keep Square and Shopify continuously synced afterward (Products has separate opt-in tools, Inventory Sync and Re-sync Products, if you want to keep pulling in changes later). After you pick your data types on the Getting Started screen, you configure and run each one from its own migration page, with real-time progress, pause/resume, and a downloadable report. Your dashboard checklist tracks each type's status - Not started, In progress, or Completed - and once every type you selected shows Completed, you'll see a banner confirming your one-time migration finished successfully. Nothing else changes automatically after that; you can still revisit any completed type's migration page anytime, and you can always add more data types later from Settings.

Running & Managing Migrations

Can I pause, resume, or cancel a migration partway through?
Yes, for every migration type. Pausing stops it at a safe point without losing what's already been processed, and cancelling ends it there - nothing already migrated is undone either way.
I cancelled a Products migration partway through - what happens to Categories and Discounts?
If you had Categories and/or Discounts turned on, cancelling gives you a choice: "Stop everything now" stops immediately and skips them, same as before. "Finish Categories & Discounts, then stop" stops importing new products (for a large migration running in fast bulk-import mode, that means after the batch already in progress finishes, not instantly), but still creates Categories/Discounts for whatever products already made it in before marking the migration cancelled. If neither toggle was on, or you're cancelling Inventory Sync or Re-sync Products, cancel just stops immediately.
Can I cancel the Categories or Discounts step on its own, once it's running?
Yes - each has its own Cancel button, independent of the Products step and of each other. Cancelling Categories doesn't stop Discounts (or vice versa), and either one can be cancelled without touching the products that already migrated. Nothing already created in Shopify by that step is undone.
What happens if some items fail during a migration?
The migration keeps going - one failed item doesn't stop the rest. Download the migration report afterward to see exactly which items failed and why, so you can fix the issue in Square and re-run.
A migration card shows an "Unavailable" badge and no link - what does that mean?
That migration type has been temporarily switched off, usually while our team investigates a critical issue with it. It's unrelated to your Square connection or your store's data - nothing you've already migrated is affected, you just can't start a new run of that specific type until it's switched back on. If you have a notification email configured under Settings, you'll get a one-time heads-up email when this happens, and a scheduled Gift Card migration for that window will run automatically once the feature is back - no need to reschedule it yourself.
Why is there no Download Report button for some runs in Recent Migrations?
When a run processed nothing at all - nothing imported, skipped, or failed - there's simply nothing to report, so the Download Report button is replaced with a dash instead of producing an empty file. This applies the same way across every migration type's history table.
Where did the separate Inventory, Discounts, and Collections tabs go from Migration History?
They're no longer separate entries - Discounts and Collections have always been sub-steps that happen inside a single Product Catalog run, so Migration History now shows just one "Product Catalog" row for that run instead of three. Open its View Report page and use the view dropdown above the item table to switch between Product Catalog, Inventory, Discounts, and Collections - the downloaded xlsx report has the same four as separate sheets in one file. "Sync Inventory" still has its own row, just relabeled from "Inventory" so it isn't confused with the Inventory view inside the Product Catalog report.
Why are "Manage Inventory" and "Re-sync Products" greyed out even though I've migrated products before?
Squarify checks Shopify for Square-migrated products each time this page loads and whenever you open either modal - not just whether a migration ever completed. If none are currently found - most commonly because they were deleted from Shopify afterward - both buttons are disabled and a banner explains why. Run Product Migration again to re-enable them. If the check itself fails (e.g. a temporary Shopify connection issue), the buttons are left as they were rather than disabled.
Can I start a new Product Migration, Re-sync Products, or Manage Inventory while one of them is already running?
No. Only one Products/Inventory Sync job can run at a time per store, and Squarify blocks starting another on the server as well as in the UI, so it can't be bypassed by having the page open in two tabs or refreshing at the wrong moment. Standalone Collections and Discounts creation are blocked the same way whenever a full Product Migration is active. A running Product Weight Migration also blocks Product Migration, Re-sync, and Manage Inventory, and vice versa - both write the same variant weight field.
Can I start a new Customer, Gift Card, or URL Redirects migration while one of them is already running?
No - the same rule as Products applies to each of these individually: only one run of a given type at a time, enforced on the server as well as in the UI. Wait for the current run to finish, or cancel it, before starting another of that same type.
Can I run a Products migration and a Customers migration at the same time?
Usually yes - Products, Customers, Gift Cards, and URL Redirects are otherwise independent. The one exception: Shopify itself only allows one large "bulk" data transfer per store at a time, and both Products and Customers can switch into that bulk mode automatically for very large catalogs/customer lists. If one is already running in bulk mode, starting the other is blocked until it finishes - a Shopify-side limit, not a Squarify restriction.
Do I need to keep my browser open, or stay on the page, while a migration is running?
No. Once you click Migrate, the run continues on Squarify's servers in the background - closing the tab, navigating elsewhere, or closing your browser entirely doesn't stop it. Come back anytime to see live progress, or download the report once it's finished. The only way to stop a run early is clicking Cancel.
What if Squarify's own servers restart or go down briefly while my migration is running?
Your progress isn't lost. Squarify automatically detects a run that got interrupted this way and picks it back up on its own once things are back - already-migrated records are never redone or duplicated. This is different from uninstalling the app mid-migration, which does deliberately stop the run.
Will migrating overwrite my existing Shopify products?
Only if you turn on "Override Existing Products" - off by default. With it off, products already migrated are left untouched and simply skipped on the next run. This option is specific to Products; Customers and Gift Cards always skip existing records rather than overwrite them.
What happens to archived or deleted Square products if I choose to include them?
By default, Squarify only migrates active Square products - archived and deleted items are skipped entirely. Turning on "Include Archived Products" and/or "Include Deleted Products" brings those across too, but instead of creating them as Active, Squarify sets their Shopify status to Archived and adds a matching tag, so you can immediately spot and filter them in Shopify admin.
The "Total Products" count under My Square Catalog changed when I turned on a toggle - is that right?
Yes, that's expected. "Total Products" always reflects exactly what the current toggle combination would migrate - unlike the toggles themselves, this count updates live and doesn't wait for Save Settings, since it's just a preview.
I flipped a toggle but nothing changed - why?
Toggles on the Products, Customers, and Gift Cards pages only take effect once you click "Save Settings" - flipping a switch updates what you see on screen, but the actual migration uses whatever was last saved. This stops the page from flickering warnings on and off before you've actually decided, and means what you see in "Ready to Migrate" always matches exactly what running Migrate will do.
Can I schedule a migration to run later instead of right now?
Yes, for Inventory Sync and Gift Cards - pick a date and time (up to 14 days out) and it runs automatically at that time. Other migration types are run manually.
Do I need to keep the Products or Gift Cards page open for a scheduled migration to actually run?
No. A scheduled run is checked for and started by Squarify's backend, not by your browser tab. Once it starts, its progress card is labeled "Scheduled run" so you can tell it apart from a manually started migration, and you can pause/cancel it the same way as any other run.
Why did Shopify ask me to review Squarify?
That's Shopify's own review prompt, shown once your dashboard checklist shows every migration type you chose as complete. It's not something Squarify controls directly - Shopify decides if and when to actually display it.
Where did the Recent Migrations History section go from the dashboard?
It moved to its own page - click the "Migration History" button near the top of the dashboard to see it, with the same tabs, table, and "View Report" links as before. Moving it off the dashboard keeps the dashboard itself loading faster, since it no longer has to fetch your full migration history just to show the page.

Field Mapping & Taxonomy

What is Field Mapping, and do I need to configure it?
It's the list of every piece of Square data Squarify can bring across - title, variants, price, description, SKU, barcode, weight, images, tags, and several behind-the-scenes detail groups - with a checkbox to include or skip each one. Title, Variants, and Price are required and can't be unchecked; everything else is optional and on by default. One exception: the hidden link back to each Square product is always migrated no matter what, since Re-sync Products, Inventory Sync, and duplicate-detection all depend on it internally.
My Square barcodes are actually stored in the SKU field, not the UPC field - can Squarify still migrate them as barcodes?
Yes. Open the Barcode row in Field Mapping and change "Where should the barcode come from?" from "My barcode in Square" to "My SKU in Square - use it as the barcode for every product." Two extra options appear: keeping the value in Shopify's SKU field too, and saving the real barcode in the background instead of losing it. Field Mapping choices apply immediately to whatever migration you run next in this session; click Save Field Mapping if you also want the choice remembered for next time.
Only some of my Square products have a real barcode - the rest use SKU as their scannable code. How should I migrate those?
Use the Barcode row's third option: "My barcode in Square - but use the SKU instead for products that don't have one." This keeps the real barcode for every product that has one, and only substitutes SKU for products Square has no barcode on at all - unlike the "use SKU for every product" option, it never overwrites a real barcode.
Does the "Measurement Unit" row in Field Mapping bring over my products' real weight?
No, not for most products. Square's Catalog API has no field for an item's actual physical weight - "Measurement Unit" only exists for items Square sells by weight, so when detected, Squarify sets a placeholder weight of 1, not the real weight. For real, accurate per-item weights, use the separate Product Weight migration, which reads actual values from a CSV export.
Does Squarify keep track of my products' item type from Square?
Yes - behind the scenes, Squarify remembers each product's Square item type in two forms: Square's raw internal value, and the same thing as the human-readable label Square's own item type picker shows (Physical good, Prepared food and beverage, Event, Digital, Donation, and so on). Both are kept so the right format is available whichever way you or another app need to reference it.
What is taxonomy mapping, and do I need to set it up?
It's how each Square category gets matched to Shopify's standard product taxonomy, which powers Shopify's category-based filtering and reporting. It's optional - a toggle at the top of Taxonomy Mapping (on by default) lets you turn it off entirely, and while it's on, Squarify auto-suggests matches for you; anything left unmapped is simply not categorized rather than blocking your migration.
How accurate is the auto-suggested taxonomy mapping?
It's a starting point, not a guarantee - auto-suggest matches each Square category name against Shopify's own taxonomy search and picks its best result, usually close but not always the most precise, deepest category. Review suggestions before migrating. To fine-tune after migrating instead, select products in Shopify admin and use Bulk Edit to update Category.
I clicked "Clear All" in Taxonomy Mapping by accident - can I get my mappings back?
Yes, if you catch it right away - clearing shows a toast with an "Undo" button that restores every mapping exactly as it was, as long as the toast is still on screen. Once it disappears, or once you click Save Taxonomy Mapping, the clear is final.

Products, Inventory & Collections

Do I need to migrate Products before running Inventory Sync or Re-sync Products?
Yes. Both only work on products that were originally migrated through Squarify - they recognize matching Shopify products using a hidden tracking link Squarify sets during Product Migration. Products added directly in Shopify won't be matched.
Will migrating create a duplicate if I already have that exact product in Shopify?
No - as long as Squarify can see it. Squarify recognizes a product as already migrated via its own hidden tracking link, but also checks every Square item against your other existing Shopify products by SKU, barcode, and handle. A match is skipped by default. An "Overwrite existing Shopify product with matching Square SKU, barcode, or handle" toggle on Ready to Migrate lets you overwrite it with Square's data instead. Either way, the report states exactly which field caused the match.
What does "Sync Inventory" do, and how is it different from Re-sync Products?
Inventory Sync only touches stock quantities - never title, price, images, tags, or any other field. It compares Square's current quantity to Shopify's at every mapped location and only writes where they differ. Re-sync Products is broader - it refreshes title, description, price, images, inventory, and other saved details together using your current settings.
What's the Pre-Sync Report, and do I need to run it before Sync Inventory?
It's optional - a downloadable CSV comparing Square and Shopify quantities for every already-migrated variant before you sync anything. Running it never writes anything to Shopify; it's purely a preview.
What happens to products that are only available at a Square location I didn't map?
They still migrate as full products, but show 0 stock everywhere until fixed. Go back to Location Mapping, map the remaining location(s), then click "Sync Inventory" - Squarify re-checks every product already migrated and activates stock wherever a location is now mapped.
Why does the product count next to a Square location show something like "2,500+" instead of an exact number?
That count is capped at 2,500 items per location on purpose, to keep Location Mapping loading quickly. The "+" means the real total is at least that many. This only affects the on-screen estimate - the migration itself always processes your full catalog.
Do I need to migrate Products before creating URL Redirects?
Yes. URL Redirects point old Square product URLs to their new Shopify equivalents, so those products need to already exist in Shopify.
Can I create Collections without running the Product Migration?
No. Collections is a setting inside Product Catalog Migration, not a separate step - turn on "Create Shopify Collections" and it runs together with that same migration.
Can I skip Discounts or Collections, or run just one of them?
Yes. "Create Shopify collections from Square categories" and "Migrate discounts from Square" are two independent toggles in Migration Settings - turn either on or off in any combination. Both default to off.
What kind of Shopify collections does Squarify create from my Square categories?
Automated ("smart") collections that use a tag rule matching the category, so products keep getting added automatically as more are migrated. If a manual collection with the same name already exists, the newly migrated products are added to it instead of creating a duplicate.
Will migrated products automatically show up in my Online Store or POS?
Not unless you turn it on. "Publish to Online Store" and "Publish All to POS" are both off by default, so products are created but not yet published until you enable the one(s) you want.
I uploaded my Square export for Product Weight Migration and got a "Could not find a Token column" error - what's wrong?
Nothing you need to fix - upload the file as-is. Square's export sometimes has an extra title or blank row above the real header row. Squarify automatically finds whichever row actually contains the Token/Weight columns. If you still see this error, confirm the file was exported directly from Square Dashboard and hasn't had its Token column renamed or removed.
My Product Weight Migration file is too large to upload - what do I do?
Files are capped at 20MB. Trim the export to just the Token column plus whichever of Weight or Online Sale Price you actually want to update, and delete blank rows - this routinely shrinks the file 10x or more. If still too big, split it into several smaller files and apply each in turn; this is safe and won't duplicate updates.
Some rows in my Product Weight file show as matched even though I thought their tracking link was gone - how?
Squarify falls back to matching by SKU for any row whose hidden tracking value doesn't resolve to a Shopify variant. This only works if your file has a SKU column and that SKU exists on exactly one Shopify variant - if it exists on more than one, the row is flagged separately rather than matched at random.
Can Squarify migrate Square's "Online Sale Price" to Shopify as a Compare-at price?
Yes, through the same Product Weight Migration upload - Square doesn't share a compare-at/original-price field with any app at all. If your file has an Online Sale Price column, a toggle appears offering to update price: Shopify's price becomes the Online Sale Price, and the variant's prior price becomes the Compare-at price. Off by default since it changes a live selling price.
Why does a large product migration show no Pause button, and a coarser progress bar?
Migrations with more than 2,000 eligible products switch to a faster bulk-import mode instead of creating them one at a time, submitted in batches of up to 5,000. While a batch runs there's no live per-product progress and no way to pause mid-batch - only Cancel is available.
I cancelled a large product migration - will I lose track of what was already created?
No. Squarify only checks for a cancel request between batches, so the batch already in progress always finishes completely first. Nothing already created in Shopify is undone or left incomplete, and your report reflects exactly what finished before the cancel took effect.
My product migration shows "Paused (daily limit)" - what does that mean, and do I need to do anything?
Shopify caps new product/variant creation at 1,000 per day once your store already has 50,000+ products or variants - a Shopify-side limit, not a Squarify one. Squarify pauses automatically and picks back up on its own about 24 hours later from exactly where it left off. No action is needed.
What happens if a product image fails to upload during migration?
The product still migrates normally - a broken or rejected image never blocks the rest. It shows up in the downloadable report's "Failed Images" sheet, which only appears when there's at least one failure.
How do I find out which image failed and for which product/variant?
Open the downloadable Migration Report and check the "Failed Images" sheet. Each row shows the Square product/variant ID, SKU, Shopify handle and title, the image URL that failed, its position, and the actual error Shopify returned.

Gift Cards

Why does it say gift card importing isn't enabled for my store?
Shopify requires this specific capability to be turned on for your store before gift cards can be imported - separate from having gift cards enabled generally. Contact Shopify Support to request it; Gift Card migration is blocked until it's enabled.
Will every gift card in Square migrate?
Only ones that are ACTIVE with a balance greater than $0 - that's all Shopify accepts. Cards that are PENDING, DEACTIVATED, or BLOCKED are skipped automatically; activate and fund them in Square first if you want them included.
Will migrating gift cards send emails to my customers?
Only if "Link to Customer Records" is turned on (on by default) and Shopify has customer notifications enabled - linking a gift card to a customer can trigger Shopify's standard gift-card email. The settings page shows a warning banner when this toggle is on.
What happens to a gift card if the customer it belonged to no longer exists?
The gift card still migrates - it just won't be linked to a customer. "Link to Customer Records" only ever searches for an existing exact match by email; it never creates a new customer record.
A gift card didn't get linked to a customer - is there a way to still find who it belongs to?
Yes - turn on "Add customer details to the gift card note". This saves the Square customer's name, email, and ID directly on the gift card's note field, even when automatic linking can't find a unique match, so you can assign it manually afterward.

Customers

Will every customer in Square migrate?
By default, only customers with an email address or a phone number migrate. Customers with neither are skipped automatically, but you can bring them over anyway by turning on "Migrate customers with no email and no phone" - each is tagged no-email-phone so you can follow up manually.
What's in the downloadable Customer Migration report?
Each row shows the customer's name, email, phone, Square customer ID, Shopify customer ID, a status (Created/Skipped/Failed), and an error message when relevant. For a skip caused by an existing match, Squarify looks up the matching Shopify customer and includes its ID too.
What do the Customer Migration Settings toggles (email consent, addresses, birthday, notes) actually import?
"Import email marketing preferences" marks opted-out Square customers as unsubscribed in Shopify. "Import addresses" maps Square addresses to Shopify's format. "Include birthday" saves it behind the scenes on the customer record. "Include notes" copies Square's customer notes into Shopify's note field. All four are independent toggles.
What does "Migrate customers with no email and no phone" do, and why is it off by default?
By default, Square customers with neither an email nor phone are skipped, since Shopify customer records are built around having at least one way to reach someone. Turning this on migrates them anyway and tags them no-email-phone.
Why does a large customer migration (5,000+) show no Pause button, and a coarser progress bar?
Migrations with more than 5,000 eligible customers switch to a faster bulk-import mode instead of creating customers one at a time. Shopify processes the whole batch at once, so there's no live per-customer progress and no way to pause mid-batch.
I cancelled a large (5,000+) customer import - will I lose track of what was already created?
No. Shopify finishes winding down the batch already in progress first, shown as "Cancelling...". Squarify then double-checks directly with Shopify to confirm exactly which customers were created, so your report and Imported count reflect reality rather than showing zero.
What does "Create customer segment" do?
It creates a Shopify segment called "Square Migrated Customers" that automatically includes everyone with the square_migrated tag, plus one additional segment per Square customer group. If a segment already exists, it's left alone rather than duplicated.

Discounts

Can a discount restricted to a Square customer group work right away?
Not until matching customers exist in Shopify with the right tag. These discounts target a Shopify customer segment by tag, so run Customer Migration first (or tag customers manually) - otherwise the discount is created with no one currently eligible.
What's the difference between "Discount Code" and "Automatic Discount" when creating Shopify discounts?
A Discount Code requires the customer to enter a code at checkout. An Automatic Discount applies on its own with no code needed. Both target the same products using the D-TAG-* tags Squarify stored during Product Migration - you pick one method per run.
Are there Square discounts Squarify can't automatically recreate in Shopify?
Yes - Variable % and Variable $ discounts, where Square lets staff enter the amount at checkout. Shopify discounts need a fixed value up front, so these are stored as reference-only tags instead of being auto-created.
My Square discount has "Apply discount after taxes" turned on - does that carry over?
No - Shopify has no equivalent setting. Every Shopify discount is applied before tax, calculated on the already-discounted price. The discount itself still migrates; only the after-tax timing is dropped. A common workaround is letting the order go through at full price and issuing a partial refund afterward.
My Square discount is restricted to Point of Sale only (or Online only) - does that carry over to Shopify?
Not as an enforced restriction - Shopify has no setting that limits a discount to one sales channel. Squarify surfaces the original scope by appending " · POS Only" or " · Online Only" to the discount's title, and tags every migrated discount so you can filter for which ones need a manual restriction.
Does a Buy X Get Y (BOGO) discount migrate correctly no matter how it's scoped in Square?
Item- and category-scoped BOGO discounts migrate automatically. One with no restriction at all (applies to every item) also migrates - Squarify maintains a dedicated "Square BOGO - All Products" collection behind the scenes, since Shopify's Buy X Get Y discounts have no "all products" option of their own.
Why didn't a Square discount that's already expired show up in Shopify after migrating?
By default, Squarify skips any Square discount whose end date has already passed. Turn on "Include expired discounts as well?" to migrate them anyway, with their original end date carried over as-is.

URL Redirects

What does URL Redirects actually create, and will old Square links keep working?
For every migrated product, it creates a Shopify URL redirect from the old Square Online product path to the new Shopify product URL - so visitors and search engines following an old link land on the right page instead of a 404. Redirects are active immediately, and re-running updates an existing one in place rather than duplicating it.
Why is "Migrate to Shopify" disabled until I download something?
Migrate stays disabled until you've downloaded the Full Preview (CSV) - a complete list of every product's match, including anything flagged for review. It's a deliberate checkpoint so you review the full mapping before any redirects go live - required every visit, not just once.
What's the "Approve URL redirects and ready to migrate" checkbox for?
It's the second half of the review checkpoint alongside the Full Preview download - confirming you've reviewed the mapping and approve creating these redirects. It saves a timestamp for reference, but you'll need to check it again on each visit, including after Refresh Data.
What does "Needs review" mean in the downloaded preview, and why wasn't that redirect created?
It means no exact match was found, but a similar-looking URL exists on your sitemap, shown with a similarity percentage. These are never created automatically, since a close match could point to the wrong product - set it up manually in Shopify Admin if the suggested match is correct.
What's the "redirects verified working" message after a run, and what should I do if some need attention?
Squarify checks each created redirect over HTTP to confirm it actually redirects to the right Shopify product. Any flagged as needing attention are listed in the downloadable report with the reason - often just a slow or temporarily unreachable connection, so re-checking is usually enough.
What's "Test Run (5 products)" for?
It creates real redirects for just 5 products so you can verify everything looks right before committing to the full run - a genuine subset of the real thing, not a preview mode, so those 5 redirects are live immediately.
Why do the two counts at the top of the URL Redirects page show different numbers?
"Products URL Redirects available" is how many product pages your Square Online sitemap has right now, read directly from Square. "Eligible to Migrate" is how many of those already exist in Shopify and are ready for a redirect right now. It's normal for these to differ before Product Migration has run.
"Products URL Redirects available" shows 0 and says it couldn't find my Square Online store - what's wrong?
This means Squarify couldn't detect a Square Online storefront domain for your account - it looks for a website URL under Business Information in Square, falling back to the Square Sites API. Set a website URL on your location, then click Refresh Data.
What are the "category redirects" discovered as a bonus, and why do some show up as skipped or failed?
After product redirects finish, Squarify scans for old category/collection pages and tries to match each to the Shopify collection created for that category. Shopify doesn't allow these as real redirect source paths, so they're logged as skipped (with the collection URL to set up manually) or failed (no matching collection found).
Does the report show the actual Shopify Redirect ID, and can I tell a product redirect apart from a category one?
Yes. Both the on-page report and the downloadable file show the Shopify Redirect ID for every created or updated redirect, plus a Type column marking each row Product, Collection, or Custom.

Re-syncing & Duplicates

What happens if I add a new product, customer, or gift card in Square while a migration is running?
It won't be included in that run. Squarify fetches the full list from Square once, right when a migration starts, and works through that fixed list - it doesn't check back with Square again until the run finishes. Nothing is skipped incorrectly; the new item simply didn't exist yet as far as that run is concerned.
Will running the migration again create duplicates?
For Products, Customers, Gift Cards, and Collections - no. Every migrated item is tagged with a reference back to its Square ID, so re-running skips it (or updates it in place, if "override existing" is on). Discounts are the one exception: each run creates a brand-new Shopify discount with no check for one already existing, so avoid running Discount creation more than once for the same Square discounts.
What happens if my SKU or barcode is reused across more than one product in Shopify?
Squarify won't guess. If a SKU or barcode turns up on more than one existing Shopify product, that's treated the same as no match - the item is created as a brand-new product rather than linked at random, with a note on that report row explaining the collision.
What happens if I remove Squarify's hidden tracking link from a product in Shopify?
That product stops looking "already migrated" to Squarify - Re-sync Products, Inventory Sync, and Product Weight updates all identify existing products by that hidden link. Running Product Migration again falls back to matching by SKU, then barcode, then handle - but if none still match, a duplicate product is created instead.
So how do I make sure everything eventually gets migrated?
For products, use "Re-sync Products". For customers, use "Re-sync Customers" once you've completed a first migration. For gift cards, just run that migration again - it's safe to run as many times as needed, since already-migrated items are left alone.
What does "Re-sync Products" do, and how is it different from running the Product Migration again?
Re-sync refreshes products already migrated with their latest Square data using your current Field Mapping and Taxonomy settings, and optionally creates products added since your last check. It never touches collections or discounts, even if those are turned on in your settings.
What does "Re-sync Customers" do?
It imports only customers created in Square since your last Customers migration or re-sync. Unlike Re-sync Products, it never refreshes info on customers already migrated, and always compares against the last completed run - it's disabled until you've completed a Customers migration at least once.
What's the difference between "Only what changed since last sync" and "My entire catalog"?
"Only what changed" asks Square for just the items it recorded a change to since your last full check - much faster on a large catalog. "My entire catalog" checks every product regardless of when it last changed - slower, but thorough. Your very first re-sync always uses the full catalog.
What's the "Check for changes since" dropdown in the Re-sync modal?
By default, "Only what changed" compares against a single automatically-tracked point that only advances once a run genuinely finishes. This dropdown lets you manually pick any past completed run to check from instead - picking an earlier point only ever re-checks more products, never fewer, with no risk of duplication.

Account & Notifications

Why don't I see my latest Square changes right away? What does "Refresh Data" do?
To keep pages fast, Squarify caches things like your Square locations and catalog counts instead of calling Square fresh on every page load - the footer shows "Last synced: ...". Click "Refresh Data" on that page to clear the cache and reload straight from Square.
What happens if my Square access token expires?
If it's within 7 days of expiring and Square gave Squarify a refresh token, it renews automatically in the background - including for scheduled migrations. If it has already fully expired, reconnect manually from Settings. Nothing already migrated is affected either way.
What happens to my Shopify data if I disconnect Square?
Disconnecting only removes Squarify's saved connection and cancels pending scheduled migrations - it does not touch anything already migrated. You'll need to reconnect (and redo Location Mapping) before running any new migration or sync.
What email notifications can Squarify send me?
Several, all off by default and configured in Settings: migration started, paused, cancelled, completed, or errored; a re-sync summary; an API health alert if Square stops responding; and a reminder before a scheduled migration runs. Turn on the ones you want and set a notification email - you don't need to keep the app open to know when something finishes or needs attention.

Uninstall & Reinstall

What happens to a migration that's running if I uninstall Squarify?
It's stopped and marked as failed, with the reason "App uninstalled mid-migration" - nothing keeps running once the app is removed. Anything already written to Shopify stays exactly as it is. If email notifications were set up, the uninstall email lists which migration(s) were interrupted and how far they got.
If I reinstall Squarify, do I need to reconnect Square again?
Yes. Uninstalling always clears the saved Square connection, so reinstalling starts fresh with the "Connect Square" step, even right away - deliberate, since Square access could have been revoked or rotated while the app was uninstalled.

Billing & Plans

How am I charged - through Shopify, or separately?
Through Shopify. Both plans are billed the same way any Shopify app charges you, so the charge appears on your regular Shopify invoice alongside your Shopify subscription - Squarify never collects payment details directly.
Can I get a refund?
Refunds for Squarify charges are issued by us, not automatically by Shopify. Open Support (Settings -> Need Help?) and choose "Refund request" - have the plan charged, the approximate charge date, and whether you want a full or partial refund ready, so we can confirm it's still within Shopify's refund window (charges older than 12 months, or 90 days for ACH bank transfer, can't be refunded).