Migrate from Tray to Shopify: care with orders and SEO
How to migrate Tray to Shopify with the catalog, orders and URLs checked. What the merchant and the developer each own before you change the store DNS.
by Ailton Carvalho · E-commerce and Shopify · October 19, 2026 · 11 min read
In this article
- The short answer
- 1. Decide what will change and who approves each delivery
- 2. Export the Tray data and keep the original files
- 3. Import catalog, customers and orders as separate jobs
- 4. Map every old URL before you connect the domain
- 5. Check theme, stock, shipping and payment with a test order
- 6. Change the DNS last and reconcile the operation
- Frequently asked questions
- Conclusion
The short answer
Migrating from Tray to Shopify means moving the operation of an existing store to another platform, keeping the data and handling the addresses that customers and search engines already know. The work starts with exporting the catalog, customers and order history, not with choosing a theme. Then comes a checked import, the redirect map, validation of stock, shipping and payment and, last, the DNS change. The merchant owns access, commercial decisions and communication; the developer owns data transformation, implementation and the technical check. This process reduces risk, but it does not promise zero loss, stable Google rankings or continuity with no interruption at all.
1. Decide what will change and who approves each delivery
Before you migrate from Tray to Shopify, write the reason for the change in operational terms. It may be difficulty evolving the theme, the need for another integration or a reorganization of the buying experience. The switch only makes sense when the proposed solution meets that reason without creating a bigger problem in service, stock or billing.
If the platform decision is still open, start with the comparison Tray vs Shopify: theme, costs and integration. Here, the focus is turning the decision into a controlled passage, with clear responsibilities. An e-commerce setup and migration project must include data, operations and old addresses, and not only deliver a storefront that looks similar.
The merchant provides context and decides the commercial destination. They report the current plan, grant the necessary access, point to who controls the domain and list the ERP, payment methods and shipping services. They also define which products stay, which leave and who will handle purchases made before the change. Access should be granted through each service's proper mechanism, without sending passwords in spreadsheets.
The developer turns those decisions into acceptance criteria. They document what will be imported, what will stay in a reference file, which integrations will be rebuilt and how the team will find old orders. The theme is part of that scope, but it does not replace those deliveries. A pretty page does not show that the variant record or the shipping rule is correct.
Agree on a cutover window and the conditions for delaying it. A payment failure, divergent stock or the wrong destination for an important page are reasons to fix things before pointing the domain. The merchant approves commercial readiness; the developer presents technical evidence. Neither of them should discover their responsibility at the moment of the switch.
2. Export the Tray data and keep the original files
The Tray help center, checked on 2026-10-19, tells you to export the catalog under Produtos > Lista de Produtos > Mais opções > Exportar produtos (Products > Product list > More options > Export products). In that request you can choose variants, item status and stock. Processing creates a notification to download the file. Do not treat an export of active items only as a complete copy of the catalog without checking the choice that was made.
There is a detail that matters for this source: the documentation says certain text fields are adapted, with accents removed and the cedilla converted. That reaches fields such as descriptions and SEO information. Importing the spreadsheet mechanically can therefore worsen texts that were correct on the storefront. The developer should compare the exported content with store pages and recover the approved wording where needed; the merchant validates commercial names and descriptions.
The documented file also includes Endereço do Produto (URL Tray) (Product address, Tray URL). Keep that column for the URL map. Do not invent a universal rule for Tray addresses: use the addresses that were actually exported and check the existing store. Keep the originals unedited and do the transformation on identified working copies.
For customers, the export-with-attributes documentation points to Vendas > Clientes > Exportar clientes (Sales > Customers > Export customers), with filters and a later download by notification. The result is a CSV with registration data and fields such as newsletter. Preserve consent information without automatically turning every buyer into a marketing subscriber. Restrict access to the files and avoid attaching them to open conversations.
Orders come from Vendas > Listas de pedidos > Exportar pedidos (Sales > Order lists > Export orders). Tray says this export has its own filters, different from the list filter. Record the period, status and channel selected so you do not confuse the generated file with the complete history. Include orders still in progress, cancellations and returns needed to keep service going.
| Data or rule | Documented number | Practical consequence | Source checked |
|---|---|---|---|
| Order period per request on Tray | Up to 90 days | Split the history into intervals and check for gaps | Tray, order export, 2026-10-19 |
| Shopify product CSV file | Up to 15 MB | Prepare files within the limit before import | Shopify, product import, 2026-10-19 |
| Shopify customer CSV file | Up to 15 MB | Split larger files without duplicating records | Shopify, customer import, 2026-10-19 |
| Permanent redirect on Shopify | HTTP 301 | Relate the old address to the right destination | Shopify, redirects, 2026-10-19 |
3. Import catalog, customers and orders as separate jobs
Shopify's official guidance, read on 2026-10-19, is to import products, then customers and, finally, historical orders. That order helps keep the relationships between the data. The Tray export should not be treated as a file ready to send as-is: the developer needs to adapt its columns to the destination template.
In the catalog, relate source identifier, SKU, variant, price, stock, weight, images and content. Separate what is a product from what is a purchase option. Color and size cannot become disconnected items for the convenience of the spreadsheet. Also check that images match the right variant and that the data needed to calculate shipping was preserved.
Shopify requires the header format set out in its template and UTF-8 encoding. Its documentation warns that overwriting existing products with empty optional fields can erase values. The operational recommendation is therefore to validate a representative batch before repeating the transformation on the rest. Include products with variants, a promotion, out of stock and long descriptions.
For customers, match the fields without inventing missing information. The customer CSV does not import order history, according to Shopify. It also does not transfer passwords from another store: the documentation's sentence is “You can't migrate customer passwords from another online store using a CSV.” Do not promise that the buyer will keep using the old password; prepare and validate the access flow chosen for the new store before announcing it.
Historical orders need a separate strategy. Shopify's general guidance presents apps and APIs for that migration, not an equivalent of the customer CSV. The developer must show the destination of status, amounts, items and source identification. The merchant decides whether the history needs to live inside Shopify or in a preserved lookup outside it, with that difference explicit in the scope. In both cases, the team needs to find the purchase in order to handle an exchange, a delivery and a refund.
If you are leaving Tray, send the store URL, the product volume and the current plan. If you have not created the Shopify store yet, talk to me before you create it: the store is born as a development store, in the modality that can be transferred to your name.
4. Map every old URL before you connect the domain
The URL map is a verifiable delivery, not the generic promise to “take care of SEO”. Start with the product addresses exported from Tray and complete them with categories, institutional pages and content found in navigation and in the store's available records. Search and traffic data, when available, help identify important pages that do not appear in the menu.
For each old address, record the new destination, the reason for the match and the expected result. A product that continues should lead to the corresponding product. A category that was reorganized needs a collection compatible with the intent of the person who clicked. If there is no adequate substitute, the merchant has to decide the treatment; sending everything to the home page does not fix the lack of an equivalent.
The merchant approves the commercial match; the developer implements and tests the redirects. That split keeps an automation from sending a discontinued item to an unrelated one. It also keeps pages with recurring demand from disappearing only because they fell outside the initial product selection.
Shopify's official help, checked on 2026-10-19, lets you import redirects by CSV and documents the use of HTTP 301. There is an important condition: “You can redirect only from broken URLs.” That means the source path cannot keep serving a working page on Shopify. There are also reserved paths and restrictions with query parameters. The developer should separate the exceptions instead of assuming every row of the spreadsheet will work.
Register the redirects before cutover, as Shopify's migration documentation advises. Validate the setup in the available environment and leave the check of the final domain for after the switch. The imported file is evidence of configuration, not proof that every visitor is already arriving at the right destination.
This work reduces broken links, but it does not freeze Google rankings. Content, structure and experience also change in the migration. To go deeper on search, see the article on migrating from Nuvemshop to Shopify and SEO care. Here, the difference is using the data exported from Tray and requiring the merchant to approve the destinations.
5. Check theme, stock, shipping and payment with a test order
The check should follow the real path of a purchase, not only the look of the home page. The merchant chooses products that represent the operation and validates information, price, commercial policy and presentation. The developer configures the theme and checks variant selection, cart, out-of-stock messages and the connection to the planned integrations.
Define where stock comes from after the change. If an ERP or another system is responsible for the balance, the team needs to know which record prevails and when the integration starts to run. Do not keep manual imports and competing syncs without a rule. During the transition, a sale on Tray can change the balance that was already loaded into Shopify.
For shipping, validate addresses that represent the regions served and cases that matter to the store. Check the option shown, the amount and the delivery time displayed against the approved commercial rule. The test needs to use products with the real weight and variant data; a simplified record can hide a failure that would only show up in a sale.
Shopify's test-order documentation, read on 2026-10-19, recommends checking checkout, processing, stock, shipping, notifications and taxes. It provides simulation methods and also a purchase with a real provider, followed by cancellation and refund. Choose the method compatible with the payment you contracted. Do not treat a simulation as proof of real financial settlement.
Record the order used in validation and what happened in each system involved. Did the payment stay in the expected status? Did the balance change correctly? Did shipping appear as approved? Can the team find the order and continue service? If the test generates a document, a charge or a stock reservation, handle the effect deliberately and check its reversal when that applies.
Before releasing the store, remove whatever belongs only to the test and check the effective sales settings. The merchant approves the experience and the commercial conditions; the developer answers for the technical evidence that the components talk to each other. A mismatch at this stage is a reason to delay cutover, not to wait for a buyer's complaint.
6. Change the DNS last and reconcile the operation
The first export does not capture sales that happen after it. Before cutover, the merchant agrees with the developer how to handle the new data: orders received, registration changes and stock changes. Record the milestone of the last extraction and identify the later records. Do not use only a time someone remembers as the comparison criterion.
Also agree where in-progress orders will be completed. A purchase started on Tray may still depend on payment confirmation, dispatch or service. Changing the storefront does not automatically transfer those obligations. The team must know which system to consult and update for each purchase, without firing a new charge or picking the same goods again.
Only then does the developer change the domain, using the current Shopify and DNS provider configuration. The merchant provides the proper access and confirms who administers the domain. Preserve the records of services that are not part of the migration, such as email. Do not copy a generic DNS recipe without checking the existing zone.
After the switch, validate the public domain, navigation, redirect destinations and the purchase flow. Also check that notifications and integrations still arrive where expected. This check is different from the one made before cutover: now the test goes through the address the customer already knows.
Keep the data and the lookup methods of the previous operation for as long as reconciliation and service need them. Do not close Tray just because the Shopify home page opened. Compare new orders with the systems involved and look for sales that stayed confined to the old environment during the transition.
If a critical failure appears, stop the planned traffic release and follow the contingency procedure you agreed. Pointing the domain back without reconciling sales can create another mismatch. Technical closeout depends on evidence of data, purchase and navigation, while commercial closeout depends on the team being able to operate. The Loja Integrada to Shopify migration checklist helps compare the general stages, but the files and export care described here are specific to Tray.
Frequently asked questions
How do I import products from Tray to Shopify?
Export the catalog in the Tray admin, including the variants and the statuses you need. The developer adapts the data to Shopify's CSV template, checks encoding, images, SKU, price and stock and validates a batch before widening the import. Do not send the source spreadsheet assuming direct compatibility. Also compare descriptions and SEO fields, because Tray's documentation reports accent changes during export.
Does order history come with the customer list?
Not through Shopify's customer CSV: the documentation says this feature does not import order history. Define separately a migration by app or API, or preservation of the history in an external lookup. If it stays outside Shopify, that needs to be clear to whoever is hiring and whoever is serving customers. Exporting orders from Tray preserves a data source, but it does not prove they were imported at the destination.
Will customers keep using the same password?
Shopify states that it is not possible to migrate passwords from another store using a CSV. Communication should therefore not promise continuity of the old password. Validate the access flow that will be used and explain to customers how to sign in to the new store. Do not ask for old passwords in an attempt to rebuild accounts by hand, and do not send instructions before you have checked the real experience.
Does a Tray to Shopify migration keep Google rankings?
There is no guarantee that a ranking is kept. The URL map, the redirects and the preservation of relevant content reduce avoidable problems, but the change remains subject to search variation. Acceptance should require accessible pages and coherent destinations, not a ranking promise. Watch important pages after cutover and fix broken links or poor matches.
Should I create the Shopify account before hiring the migration?
Talk first about the store modality. Current documentation distinguishes development stores for testing, which are not transferable, from stores for transfer to the client. To build the operation and deliver it in your name, you need to choose the transferable modality. If the Shopify store already exists, say so in the initial assessment so the work considers the available environment, without opening another store out of habit.
Conclusion
Migrating from Tray to Shopify calls for a checked export, history with a defined destination, URLs handled before cutover and a purchase validated before the DNS change. In an e-commerce migration and setup project, the merchant decides what the operation needs to preserve and the developer shows how the data and flows were handled. To assess your store, send the Tray store address, the product volume and the current plan. If you have not created the Shopify store yet, talk to me before you create it: the proposal is to build it in a development environment, in the modality meant for transfer to the client, validate the operation and transfer ownership to your name.