Migrating an aquatics & fish keeping store from WooCommerce to Shopify (2026)
How to migrate an aquatics, tropical fish, or marine supply WooCommerce store to Shopify — livestock listings, water parameters, live animal shipping, tank compatibility, and aquatics Shopify setup.
Aquatics retail is genuinely unique in ecommerce: it combines selling living creatures (fish, corals, invertebrates) alongside standard hardware and consumables. Live animal sales require completely different product data — water parameters, tank compatibility, feeding requirements, aggression levels — and a fundamentally different fulfilment model (live shipment with DOA guarantees, overnight delivery only). WooCommerce aquatics stores typically built around custom fields for livestock data. Shopify's metafields system handles this well, with careful planning needed for the live animal shipping flow.
Aquatics product categories
- Tropical freshwater fish: Tetras, cichlids, guppies, discus — common livestock
- Coldwater fish: Goldfish, koi, shubunkins — outdoor pond species
- Marine fish: Clownfish, tangs, angelfish — saltwater species requiring marine setup
- Corals: Soft corals, LPS (large polyp stony), SPS (small polyp stony) — reef keeping
- Invertebrates: Shrimp, crabs, snails, sea urchins — tank cleaners and display animals
- Live plants: Aquatic plants for freshwater tanks — Anubias, Java fern, stem plants
- Aquariums and tanks: All-in-one aquariums, nano tanks, custom glass tanks
- Filtration: Canister filters, hang-on-back filters, sump equipment
- Lighting: LED lighting — PAR levels critical for coral growth
- Food and supplements: Frozen food, flake, pellet, coral supplements
- Water treatment: Dechlorinator, salt mix, bacteria, test kits
Livestock metafields (fish and invertebrates)
Water parameters
product.metafields.aquatic.ph_min(number_decimal) — minimum suitable pH (e.g., 6.5)product.metafields.aquatic.ph_max(number_decimal) — maximum suitable pH (e.g., 7.5)product.metafields.aquatic.temperature_min_c(number_integer) — minimum temperature in Celsiusproduct.metafields.aquatic.temperature_max_c(number_integer) — maximum temperature in Celsiusproduct.metafields.aquatic.hardness_dgh_range(single_line_text) — water hardness range (e.g., "2–10 dGH")product.metafields.aquatic.salinity_sg(single_line_text) — specific gravity range for marine fish (e.g., "1.020–1.025")
Tank and compatibility
product.metafields.aquatic.min_tank_litres(number_integer) — minimum tank size in litresproduct.metafields.aquatic.community_safe(boolean) — suitable for a community aquarium with other fishproduct.metafields.aquatic.shrimp_safe(boolean) — won't eat shrimpproduct.metafields.aquatic.plant_safe(boolean) — won't eat or destroy plantsproduct.metafields.aquatic.reef_safe(boolean) — for marine fish: safe in a reef tank with coralsproduct.metafields.aquatic.aggression_level(single_line_text) — "Peaceful", "Semi-aggressive", "Aggressive"product.metafields.aquatic.max_adult_size_cm(number_decimal) — maximum adult size in cmproduct.metafields.aquatic.care_level(single_line_text) — "Beginner", "Intermediate", "Expert"product.metafields.aquatic.diet(single_line_text) — "Omnivore", "Carnivore", "Herbivore", "Planktivore"product.metafields.aquatic.swimming_zone(single_line_text) — "Top", "Middle", "Bottom" — for planning tank layout
Coral metafields
product.metafields.coral.coral_type(single_line_text) — "Soft", "LPS", "SPS"product.metafields.coral.light_requirement(single_line_text) — "Low", "Medium", "High", "Very High"product.metafields.coral.par_range(single_line_text) — PAR units (e.g., "50–150 PAR" for soft corals)product.metafields.coral.flow_requirement(single_line_text) — "Low", "Medium", "High", "Mixed"product.metafields.coral.alk_demand(single_line_text) — "Low", "Medium", "High" — alkalinity consumptionproduct.metafields.coral.placement(single_line_text) — "Substrate", "Mid-tank", "High-placement" — where to place in tankproduct.metafields.coral.frag_size_cm(number_decimal) — frag (fragment) size in cmproduct.metafields.coral.mother_colony_available(boolean) — full colony available vs frags only
Live animal shipping
Shipping live animals is the most operationally complex aspect of aquatics ecommerce:
- Overnight delivery only: Live fish must arrive within 24 hours. Use next-day or overnight courier services only (DHL Express, ParcelForce 24, TNT Overnite). Standard 3-day parcels are not suitable.
- Weather holds: In extreme cold (below 0°C) or heat (above 30°C), live fish shipments should be held. Build weather hold policy into checkout — "We may hold shipments during extreme weather."
- Day-specific despatch: Most aquatics retailers despatch live fish Monday–Wednesday to avoid weekend transit deaths. Configure Shopify shipping to offer live fish delivery only on specific days (Zapiet or custom shipping logic).
- Packaging: Fish are packed in oxygen-sealed bags inside polystyrene-insulated boxes. Heat packs in winter. Packaging cost typically included in shipping price.
- DOA (Dead On Arrival) guarantee: Standard in aquatics retail. If fish arrive dead, customer sends photo within 1 hour of delivery — replacement or refund issued. Include in product descriptions and a dedicated DOA policy page.
- UK ban list: Some species are banned for sale in the UK (e.g., certain invasive species). Ensure compliance with the Wildlife and Countryside Act 1981 and invasive species regulations.
Aquarium equipment metafields
product.metafields.aquatic.tank_size_litres(single_line_text) — suitable tank volume (e.g., "60–200L")product.metafields.aquatic.filter_flow_rate_lph(number_integer) — filter flow rate in litres per hourproduct.metafields.aquatic.heater_wattage(number_integer) — heater wattageproduct.metafields.aquatic.light_par_at_30cm(number_integer) — PAR output at 30cm depth for LED lightsproduct.metafields.aquatic.light_spectrum(single_line_text) — "Full spectrum", "Blue-dominant", "Planted spectrum"
Aquatics migration checklist
- Create aquatic metafield namespace: ph_min/max, temperature_min/max_c, min_tank_litres, community_safe, shrimp_safe, reef_safe, aggression_level, max_adult_size_cm, care_level, swimming_zone
- Create coral metafield namespace: coral_type, light_requirement, par_range, flow_requirement, alk_demand, frag_size_cm
- Migrate WooCommerce livestock custom fields to Shopify metafields
- Install Zapiet to configure day-specific live fish despatch (Mon–Wed only)
- Write and publish DOA guarantee policy page — link from all livestock product pages
- Add weather hold notice to livestock product pages
- Set up overnight-only shipping rate for all livestock products
- Configure livestock products separately from dry goods (different shipping requirements)
- Create collections: Tropical Fish (beginner/intermediate/expert), Marine Fish, Corals (soft/LPS/SPS), Live Plants, Equipment
- Enable compatibility filtering (shrimp-safe, reef-safe, care level) in Search & Discovery
- Verify compliance with UK invasive species banned species list
- Test: add live fish to cart → shipping shows overnight delivery only → day-specific despatch options shown
The DOA guarantee implementation is the most trust-critical element of an aquatics migration. WooCommerce aquatics stores often had the DOA policy buried in the Returns page — customers couldn't find it and assumed no guarantee existed, which suppressed conversion. The guarantee must be prominently displayed on every livestock product page (not just the policy page) and ideally shown with a badge or highlighted section: "Live Arrival Guarantee — full replacement or refund if fish don't arrive alive, with photo within 1 hour." The explicit 1-hour window for photo submission is essential — beyond that window it's difficult to verify the fish were dead on arrival vs stressed after arrival. Make both the guarantee and the time window clear on every product page.
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.