← All guides7 min read

DandaDomain to Shopify migration with Graftport

Migrate from DandaDomain to Shopify using Graftport: SOAP API credentials, what migrates, product and order handling, redirect coverage, and the staging review.

DandaDomain is one of the dominant hosted e-commerce platforms in Denmark. If you are migrating a store off DandaDomain, the path to Shopify is direct: Graftport reads from DandaDomain's underlying HostedShop SOAP API and writes directly to Shopify's Admin API, with full support for products, customers, orders, and 301 redirects. No custom exports, no spreadsheet wrangling.

How DandaDomain sits in Graftport's source model

Classic DandaDomain shops run on the HostedShop engine, the same engine that underpins Scannet and several other Scandinavian hosted platforms. Graftport's DandaDomain connector uses the HostedShop SOAP API, which means the credential setup and the data model are identical to a HostedShop migration.

When you open the New migration wizard and pick DandaDomain as the source, the wizard routes to the HostedShop reader internally. The choice of source card affects only how the migration is labelled — the extraction logic is the same. Full API reference and quirk documentation is at docs.graftport.com/sources/dandomain.

Credentials

Two fields:

API username. A dedicated API user created inside your DandaDomain admin panel. It needs read access only.

API password. The password you set for that API user.

Creating the API user. In your DandaDomain control panel, go to Settings → API Access (the exact path varies slightly by plan). Create a new API user, set read-only permissions across Products, Orders, and Customers, and note the username and password. Use a dedicated service account rather than your own admin login — you can delete it after the migration is complete.

If your DandaDomain admin panel does not expose an API user section, contact DandaDomain support. Some older DandaDomain plans require a support request to enable API access.

What Graftport migrates

ResourceNotes
ProductsTitle, description, prices, images, variants
CollectionsProduct category hierarchy preserved as nested Shopify collections
CustomersName, email, addresses, newsletter consent where set
OrdersLine items, payment status, and delivery addresses
301 redirectsOld DandaDomain URL patterns to new Shopify URLs

Products and variants

DandaDomain products with multiple sizes or colours become Shopify products with variants. The variant option labels carry across. Product descriptions (HTML), prices, and images are all included.

One DandaDomain-specific consideration: product visibility settings in HostedShop ("not listed", "available in search", "active") are mapped to Shopify's published/hidden status. Review a sample of products on staging to confirm visibility behaves as expected.

Collections

DandaDomain's product category hierarchy maps to Shopify collections. Top-level categories become root collections; subcategories become nested smart collections. Category descriptions carry across where they exist in the HostedShop data.

Customers

Customer accounts migrate with name, email, billing and shipping addresses, and newsletter consent status where that field is populated in the HostedShop customer record.

Customers will need to set a new password on the Shopify store. Shopify sends an account activation email when the customer first attempts to log in. Brief your customer-support team to expect a short spike of "I can't log in" enquiries in the days after go-live.

Orders

Order history migrates with line items, payment status, and delivery addresses. Refunds and fulfillment status are included where present in the HostedShop order record.

Before loading orders, disable Shopify Staff email notifications (Settings → Notifications in the destination Shopify admin). Re-enable them after the load finishes. Skipping this step sends a notification email to every staff member for every historical order loaded.

URL redirects

DandaDomain URLs follow the HostedShop URL pattern, which differs from Shopify's /products/<handle> and /collections/<handle> structure. Graftport generates 301 redirects from the old DandaDomain URL structure to the correct Shopify destination URLs. These land in Shopify's native URL Redirects store.

Because DandaDomain stores are primarily ranked in Danish-language search, protecting the existing URL equity is especially important if the store has any organic ranking history. Run the redirect resource in dry-run mode first, inspect the destination URL sample, and verify against your top-ranking pages from Search Console.

See Preserving SEO during a Shopify replatform for the full redirect verification workflow.

Setting up the migration

In app.graftport.com:

  1. Click New migration.
  2. On the source step, pick DandaDomain.
  3. Enter your store domain, API username, and API password.
  4. Connect a Shopify destination store (Admin API token with the scopes listed at docs.graftport.com/destination/shopify).
  5. Enable the resources you are migrating.

The wizard validates the HostedShop API credentials before letting you proceed. If validation fails, confirm the API user has read permissions across Products, Customers, and Orders in the DandaDomain control panel.

Running the migration

Dry run first. Start a run with dry-run enabled. This extracts from DandaDomain and reports the count and shape of what would load into Shopify without writing anything. Check product and customer counts, confirm the redirect table row count looks proportional to your ranked URL count.

Staging run. Load against a Shopify development or partner store. Browse the product catalogue, spot-check customer records, and sample your top-ranking DandaDomain URLs against the redirect table.

Delta re-run on go-live. DandaDomain keeps taking orders while staging is under review. On go-live day, re-extract to pick up the delta. Records already loaded are identified by source identity and skipped. See Re-running a migration on go-live night for the timing sequence.

DNS cutover. Flip DNS to the destination Shopify store once the final load reports succeeded.

What to verify on staging

The staging checklist for a DandaDomain migration follows the same structure as any Graftport migration. The DandaDomain-specific items to pay attention to:

  • Product visibility. Confirm that products marked as unlisted or draft in DandaDomain are hidden in Shopify (not published), and that active products are visible.
  • Variant option labels. DandaDomain's variant attribute labels sometimes use platform-specific terminology. Verify the Shopify variant option names read correctly for customers.
  • Redirect coverage. In Shopify Admin → Online Store → Navigation → URL Redirects, spot-check your top 20 DandaDomain product URLs. Each should 301 to the correct Shopify product URL.
  • Customer newsletter consent. Verify that customers who had newsletter consent ticked in DandaDomain have accepts_marketing set correctly on the Shopify account.

The full pre-launch verification procedure is in The Shopify migration checklist before go-live.

Ready to migrate off DandaDomain?

Connect your DandaDomain store, run a dry-run, and inspect the output before any data lands in Shopify.

Get started at app.graftport.com


Related reading:

Ready to migrate?

Connect a source store, dry-run a migration, see the exact Shopify result before a single record lands. The same platform your team will use on go-live night.

Get started See the calculator
Related guides
Using the Graftport CLI with Claude Code: install to first publish
Set up the Graftport CLI and migration-engineer skill in Claude Code, then drive a real Shopify migration through the validate and publish l
Human approval gates for AI Shopify migrations: the Graftport contract
Why an AI coding agent should never push to Shopify on its own, and how Graftport's two-tier CLI contract enforces a human gate on every cos
Automating JSONata Shopify mapping with an AI coding agent
How the Graftport CLI lets an AI agent investigate source rows, fix JSONata mapping errors against structured validation codes, and publish