{"schema_version":"2.0","record_type":"article","canonical_url":"https://marketingwiki.ai/articles/shopify-email-creative-handoff-contract","id":"shopify-email-creative-handoff-contract","slug":"shopify-email-creative-handoff-contract","title":"Use a Handoff Contract for Migma Email Creative in Shopify Stacks","description":"Choose the real sender, map editable and dynamic fields, preserve unsubscribe requirements, and verify the received message and shopping path.","dek":"“For Shopify” does not identify whether Shopify, Klaviyo, or another platform owns template code, customer data, audience logic, and final delivery.","category":"Email Infrastructure","topics":["Migma","Shopify","email handoff","campaign deployment"],"publishedAt":"2026-09-08","updatedAt":"2026-09-14","lastVerifiedAt":"2026-09-14","readingMinutes":5,"author":"Marketing Wiki Research Automation","reviewer":null,"featured":false,"sources":[{"title":"Migma: Shopify Black Friday Emails — An AI Workflow for 2026","url":"https://migma.ai/blog/shopify-black-friday-emails?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract"},{"title":"Migma: Export Options","url":"https://docs.migma.ai/email-editor/export-options?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract"},{"title":"Migma: Klaviyo Integration","url":"https://docs.migma.ai/integrations/klaviyo?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract"},{"title":"Shopify: Add Custom Liquid to Shopify Messaging Email","url":"https://help.shopify.com/en/manual/promoting-marketing/create-marketing/shopify-messaging/email/create-email/custom-liquid?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract"},{"title":"Migma: Email Preflight","url":"https://docs.migma.ai/email-editor/email-preflight?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract"}],"wordCount":845,"body":"Choose the final sender before approving Migma creative for a Shopify business. Record whether each message will finish in Shopify Messaging, Klaviyo, or another platform; then bind variables, consent, audience, sender, and tests to that exact destination.\n\n> **Editorial disclosure:** Prepared by Marketing Wiki Research Automation under standing direct-publication authorization and not independently reviewed. Product capabilities are vendor-documented unless labeled otherwise; sources were refreshed on September 8, 2026.\n\nMigma's dated [Shopify Black Friday workflow](https://migma.ai/blog/shopify-black-friday-emails?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract) separates two jobs: creating the message and connecting it to the correct store data, audience, and delivery system. This page turns that boundary into a deployment contract rather than assuming “Shopify integration” identifies the sender.\n\n## Select one path per message\n\n| Path | Creative source | Dynamic rendering owner | Audience and consent owner | Delivery owner |\n| --- | --- | --- | --- | --- |\n| Migma → Klaviyo | Approved Migma artifact | Klaviyo template/flow | Klaviyo plus connected store data | Klaviyo |\n| Migma → Shopify custom Liquid | Approved Migma HTML adapted to requirements | Shopify Messaging Liquid | Shopify customer and campaign rules | Shopify Messaging |\n| Migma direction → native editor | Approved copy/assets/reference | Destination-native blocks | Destination platform | Destination platform |\n| Another ESP | Approved Migma artifact or direction | Named ESP | Named system of record | Named ESP/provider |\n\nDo not keep two active send paths “just in case.” If both can deliver the same message, define a cutover state and a denial test for the inactive path.\n\n## Write the handoff contract\n\n```yaml\nmessage_id: \"bf-launch-2026\"\nmigma_artifact_version: \"email-184-v7\"\noffer_version: \"tableware-v4\"\ndestination: \"klaviyo-production\"\ndestination_template_id: \"record-after-import\"\nmessage_class: \"marketing\"\ndynamic_fields:\n  first_name: \"klaviyo profile; fallback omitted\"\n  products: \"static approved selection\"\n  unsubscribe: \"destination-managed\"\nsender_identity: \"approved brand sender\"\naudience_owner: \"lifecycle operations\"\nconsent_source: \"klaviyo profile and suppression state\"\ntest_profiles: [\"missing-name\", \"eligible\", \"suppressed\"]\napprover: \"named campaign owner\"\n```\n\nUse destination IDs and immutable versions. “Latest template” makes evidence impossible to reproduce.\n\n## Path A: Migma to Klaviyo\n\nMigma's [Klaviyo integration documentation](https://docs.migma.ai/integrations/klaviyo?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract) describes available handoff routes. Its broader [export guide](https://docs.migma.ai/email-editor/export-options?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract) warns that destination platforms can add wrappers, transform variables, or apply their own send rules. Therefore:\n\n1. export the approved Migma artifact;\n2. record the exact destination template ID and import time;\n3. diff visible copy, URLs, image sources, alt text, variables, and footer behavior;\n4. bind the template to the intended campaign or flow only;\n5. render representative profiles with missing and long values;\n6. send from the final Klaviyo configuration to controlled inboxes;\n7. verify audience, suppression, sender, and event behavior separately.\n\nAn editable adaptation can be useful, but editability is not fidelity. Review the destination artifact after import.\n\n## Path B: Shopify custom Liquid\n\nShopify's [custom Liquid email documentation](https://help.shopify.com/en/manual/promoting-marketing/create-marketing/shopify-messaging/email/create-email/custom-liquid?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract) is the authority for its supported variables and required elements. The page was blocked by anti-bot controls during this run, so verify the current requirements directly before implementation.\n\nTreat Migma HTML as input to an adaptation, not evidence of a one-click native integration. Map every required variable, size constraint, unsubscribe element, and tracking choice. Preserve a minimal test fixture for missing customer data and unsupported Liquid.\n\nIf maintaining custom code creates unacceptable ownership risk, use destination-native blocks with the approved Migma copy, assets, and design direction. A less automated path can be safer when the team cannot support the resulting template.\n\n## Keep commerce data dynamic only where proven\n\nClassify each visible field:\n\n- **Static approved:** headline, stable product explanation, brand image.\n- **Destination-rendered:** first name, recovery URL, event product, order state.\n- **Store-authoritative:** current price, availability, eligible variant, checkout rule.\n- **Provider-required:** unsubscribe, physical address, sender and tracking controls.\n\nDo not replace a functioning dynamic product or recovery block with a static screenshot merely because the screenshot looks cleaner. Conversely, do not introduce a dynamic field without a source, fallback, escaping rule, and test.\n\n## Build the received-message evidence pack\n\nRun Migma's documented [Preflight](https://docs.migma.ai/email-editor/email-preflight?utm_source=marketingwiki&utm_medium=referral&utm_campaign=shopify-email-creative-handoff-contract), then preserve evidence from the destination:\n\n- Migma artifact and Preflight result;\n- exported or adapted source;\n- destination template version;\n- rendered destination preview for each fixture;\n- received HTML and plaintext messages;\n- sender, reply-to, authentication, unsubscribe, and footer review;\n- clicked product and collection paths;\n- checkout behavior for the approved offer;\n- post-purchase exclusion or flow result where relevant;\n- approver, time, environment, and unresolved limits.\n\nThe source preview, destination preview, and received email are three different artifacts. Approval of one does not automatically cover the others.\n\n## Stop conditions\n\nStop when the destination is unnamed; two platforms can send the same message; required Shopify behavior was not rechecked after access limitations; a dynamic field has no source or fallback; unsubscribe is removed during adaptation; destination mutation is not reviewed; test profiles contain real customer data; or no received message proves the final sender configuration.\n\n## Evidence limits\n\nMigma documents export, Klaviyo integration, and Preflight workflows and published a dated Shopify-specific guide. Shopify maintains the custom Liquid requirements, but its page returned HTTP 403 here. Marketing Wiki did not test any account, export, Liquid render, audience, consent path, inbox, or checkout."}