Blog Content
June 16, 2026

Ad Accounts for Shopify Migration: A Step-by-Step Guide for Meta, Google Ads, and GMC

How to manage Meta Pixel, Google Ads, and Merchant Center during a Shopify migration: ID discrepancy issues, SKU mapping strategy, and post-migration verification steps.

When migrating to Shopify, you don't delete or rebuild the pixels, catalogs and campaigns in your ad accounts; the real risk is broken product IDs, as Shopify assigns new ones. Without catalog campaigns, Shopify's Facebook & Instagram and Google & YouTube channels take over feed and pixel. With DPA, Advantage+ or Google Shopping active, old IDs become SKUs.

When migrating to Shopify, store setup and product transfer are usually meticulously planned. However, in the migration projects we run at Nodus Works, the most common problem in the first two weeks after migration comes from the ad accounts: DPA campaigns go blind, Google Shopping products lose their approvals en masse, and conversion attribution breaks down. All of these trace back to a single cause: product IDs that don't carry over.

What Changes on Ad Platforms During a Shopify Migration?

During a Shopify migration, you don't need to touch your Meta and Google accounts; pixels, catalogs and campaigns aren't recreated, deleted or modified. The real problem isn't the platforms, it's the product identifiers.

Shopify assigns its own numeric IDs to every product and variant. These IDs have nothing to do with the values on the old platform. Meta and Google recognize products by these IDs; if the IDs no longer line up, the system can't match products, catalog campaigns lose their target and conversion attribution breaks down.

In our migration projects at Nodus Works, this problem most often shows up like this: a store with an active DPA (Dynamic Product Ads) campaign moves to Shopify, the pixel is installed and the feed is updated, but because the content_id sent by the pixel differs from the id in the feed, Meta can't match the products. The ad looks like it's running, but catalog matching drops to zero.

Migration Stage ID Sent by Pixel (Content ID) ID in Product Feed (Catalog ID) Status / Impact on Ads
Pre-migration (Old Platform) old_id_123 old_id_123 Matches: Dynamic ads work perfectly; the algorithm tracks products correctly.
Post-migration (No Intervention) new_shopify_456 old_id_123 Mismatched: The catalog goes blind. The signal is lost, and retargeting campaigns fail or show the wrong products.
Post-migration (Correct Setup) SKU-001-PURPLE SKU-001-PURPLE Matches: 100% match rate restored via aligned SKUs or custom attributes; ad optimization continues without interruption.

The fix comes down to this: even when the platform changes, the pixel and the feed must keep seeing the same value. That value is carried by the SKU.

Pre-Migration Audit: What to Look For?

ID mapping is not mandatory for every migration. For a store without catalog campaigns, this work is unnecessary. To decide whether you need mapping, you first need to understand your current account structure.

Tip: Complete the audit at least 2 weeks before the migration day. Last-minute decisions lead to mapping errors and disrupt running campaigns.
Checkpoint Where to Look What to Look For
Active Catalog Campaign? Meta Ads Manager → Campaigns DPA, Catalog Sales; if Advantage+ Shopping is active, check if the catalog is properly linked.
Catalog Feed Active? Meta Commerce Manager → Catalogs Total item count, last data fetch timestamp.
Pixel Event Volume Meta Events Manager → Overview Weekly volume of Purchase and ViewContent events.
Google Shopping Campaign Google Ads → Campaigns Are Standard Shopping or Performance Max (PMax) campaigns active?
GMC Feed Status Google Merchant Center → Products Number of approved products, diagnostics/disapproval rate.
Remarketing List Google Ads → Audience Manager Audience list sizes and whether the lists are in active use.

Is Mapping Required? Decision Matrix

Based on the audit results, the need for mapping falls into three scenarios. Starting the migration before you know which scenario applies leads to unnecessary work and to errors that are hard to fix.

Scenario / Status Decision Rationale
No catalog campaigns, only manual creative ads are active Skip Mapping Feed matching is not required for these ad types.
Catalog is linked but spend is low (under $500/mo), learning is fresh Optional The algorithm can relearn easily; potential performance loss is minor and tolerable.
DPA or catalog-linked Advantage+ is active, high spend, stable ROAS Mapping Required Any ID mismatch or disconnected signal directly results in a severe drop in ROAS.
Google Shopping or PMax is active, generating product-level sales Mapping Required If the GMC feed IDs change, products get disapproved and your Google campaigns stop delivering.

If Mapping Is Not Required: Simple Migration Steps

SKU mapping is not required for stores without catalog campaigns. After migration, Shopify's native channel integrations automatically handle feed generation for Meta and Google, the pixel connection and the flow of conversion events.

Simple migration, step by step:

  1. Import products to Shopify
  2. In Shopify admin, activate the Facebook & Instagram channel
  3. In Shopify admin, activate the Google & YouTube channel
  4. Verify that both channels have generated feeds in Commerce Manager and Merchant Center
  5. Connect the domain and place a test order
  6. Check the event flow in Meta Events Manager and GMC

In this scenario, Shopify's native integration automatically manages the feed and pixel connection for both Meta and Google. No additional intervention is required.

If Mapping is Required: SKU Strategy and ID Matching

Mapping comes down to this: whatever ID the old system sent to Meta and Google, use that value as the SKU in Shopify. The platform changes, but the ID on both sides stays the same.

old system ID → Shopify SKU → Pixel content_id = Feed id

Step 1: Identify the ID Used in the Old System

For each channel, find out which value is used as the product ID:

Channel Where to Look Target Field / Value
Meta Pixel / CAPI Events Manager → Purchase Event → Payload content_ids value
Meta Catalog Feed Catalogs → Data Sources → Preview id column
Google Ads / GA4 GA4 → Events → purchase → items item_id value
GMC (Google Merchant Center) Feed Merchant Center → Products → Feed Preview id column

These values are usually one of the following:

  • Shopify variant_id (e.g., 53499724267886)
  • Shopify product_id (e.g., 15004856942958)
  • The proprietary ID of platforms like ikas, Ticimax, Ideasoft
  • If SKUs are already used: move on to the next step; mapping takes minimal effort.
Critical Note: Each variant's SKU must be unique. If the Blue and Purple variants of the same product have the same SKU, the catalog will throw an error. This problem does not occur when variant_id is used; the platform assigns a different ID to each variant.

Step 2: Write Old IDs to Shopify SKUs

Export the product list from the old platform and set each variant's old ID as its SKU. When you import into Shopify, fill the SKU column with this value.

Example export via ikas (confirm endpoint and auth format with ikas API documentation; version may have been updated):

In the Shopify import CSV, the old platform ID goes into the SKU column. The source depends on which scenario applies:

Step 3: Verify Shopify IDs After Import

Once the import is complete, retrieve the new IDs assigned by Shopify and complete the mapping table:

Join this output to the mapping table on the SKU. Any rows that don't match are errors, and all of them must be resolved before migration day.

Meta Pixel: Set content_id Source to SKU

Meta DPA campaigns match products to the catalog using the content_id value; if the pixel's value and the catalog's value differ, the catalog stops working. Switching the Pixel's content_id source from the Shopify variant ID to the SKU is the only permanent way to keep the feed compatible after migration. There are three approaches, depending on how the pixel is installed.

Via GTM:

If you use GTM, the content_ids value in the ViewContent, AddToCart and Purchase tags must come from the item_id DataLayer variable. In the DataLayer push, Liquid template code writes the SKU to the item_id field:

If there is a Shopify native pixel (Customer Events or theme.liquid):

In the Shopify 2.0 architecture, pixels are managed with the Web Pixel API under Settings → Customer Events; installing them directly in theme.liquid is no longer recommended. If a legacy setup still uses theme.liquid, make the following change:

If the native Meta integration was set up through the Facebook channel, check the "product ID" source in the pixel configuration under Settings → Customer Events; this field can differ from store to store.

If Stape or server-side CAPI is used:

In the Stape dashboard → Shopify connector → Product ID field, select SKU. In the server-side event payload, the content_ids field must be sent as an array of SKUs:

Something we've seen at Nodus Works: in some stores, all three installation types run at the same time. If GTM and the native pixel are both active, content_id is sent twice and event counts are inflated. Before migration, check Events Manager to see which sources your events are coming from.

Google Merchant Center and Google Ads

The GMC feed is generated automatically through Shopify's native Google channel, but that channel has no setting to use the SKU as the feed ID, so the IDs change with the native channel. If you've done mapping, keeping the old IDs requires a third-party feed app (or a supplemental feed) that can send the SKU as the ID.

If mapping has not been done (i.e., if you are in a simple migration scenario), Shopify's Google channel sends the feed ID in the format shopify_TR_{product_id}_{variant_id} (e.g., shopify_TR_15004856942958_53499724267886). In this case, GMC creates new product entries, and the history of the old products doesn't carry over. Shopping and PMax campaigns will enter a re-learning phase based on the new products.

Google Ads conversion tracking must be verified after migration. Shopify's Google channel is integrated with GA4; if conversion data from GA4 is imported into Google Ads, this flow should continue uninterrupted after migration. However, if a measurement protocol or server-side tag is used in the GA4 property, ensure that the item_id field is populated with the SKU.

Among the technical steps of a Shopify migration, ad account configuration needs its own planning, especially for stores with active DPA and PMax campaigns; it must be coordinated alongside 301 redirects and product transfers.

Post-Migration Verification Checklist

Don't let ad campaigns run on their normal budget until you've completed the following checks, 24 hours after migration day. Budget spent while problems remain can't be recovered.

Checkpoint Where to Look Expected Status / Benchmark
ViewContent event is firing from Pixel Events Manager Active, real-time
Purchase event is firing, value is correct (TRY) Events Manager Close to pre-migration baseline volume
content_id value matches SKU format Events Manager → Test Events Displays the actual SKU, not the numeric Shopify ID
No critical errors in Catalog Diagnostics Commerce Manager Error rate remains close to pre-migration baseline
Catalog feed last fetch successful Catalogs → Data sources Last fetch completed within the past 24 hours
EMQ (Event Match Quality) score close to baseline Events Manager → Overview No significant drop observed
Approved product count maintained in GMC Merchant Center → Products Close to pre-migration approved product count
Google Ads conversion event is firing Google Ads → Conversions Conversions are being recorded
No 404 errors (301 redirects complete) Search Console → Page indexing Old URLs are successfully redirected
Critical Note: A sudden drop in the number of approved products in GMC after migration will waste Shopping and PMax budgets. Recheck your GMC status 48 hours after migration; products may still be under review.

FAQ: Shopify Migration and Ad Accounts

Does the Meta Pixel need to be reinstalled when migrating to Shopify? No. The existing Pixel ID is retained, and the account is not recreated. What needs to change is the source field for the `content_id` value sent by the pixel: it should be the SKU instead of the Shopify variant ID. Since the Pixel ID remains the same, historical event data and audiences are preserved.

Is mapping required if there's no catalog campaign? No. ID matching is unnecessary for stores without catalog campaigns. Shopify's native Meta channel automatically manages the feed and pixel connection; no additional configuration is required.

Will products in Google Merchant Center lose their approval after migration? If mapping hasn't been done, the feed IDs change, so GMC treats them as new products and the old approval history doesn't carry over. Approval starts again. If mapping has been done and the feed is sent by a third-party feed app that uses the SKU as the ID, products appear with the same ID after migration and can stay approved; with the native Google channel, the ID changes.

When does ad performance return to normal after migration? If mapping and the pixel are set up correctly, performance doesn't drop. Without mapping, DPA and PMax campaigns go back into a learning phase, which can take 1-3 weeks depending on campaign size.

How is the Meta Pixel transferred during a Shopify migration? The Meta Pixel stays with your account during a Shopify migration; the pixel ID doesn't change. All you need to do is configure the `content_id` value the pixel sends for products so that it uses the SKU instead of the Shopify variant ID. You can do this through GTM, native Liquid or Stape.

How is the Google Merchant Center feed updated during a Shopify migration? When Shopify's Google channel is activated, it automatically generates the GMC feed. If a catalog campaign is active, assign SKUs to products before migration so they match the old feed IDs; these SKUs should appear as the `id` value in the feed. Because the native Google channel doesn't send the SKU as the ID, this requires a third-party feed app (or a supplemental feed).

Why do DPA campaigns become ineffective after a Shopify migration? Meta DPA campaigns identify products by their `content_id`. If the `content_id` from the pixel and the `id` in the catalog feed differ after migration, the system cannot match the products, and DPA campaigns lose their product-based targeting. Solution: both sides should source the SKU value.

How is SKU mapping done in Shopify? Export the variant IDs or existing IDs from the old platform and write these values into the SKU column of the Shopify import CSV. After import, pull the newly assigned IDs and SKUs through the Shopify Admin API and verify the mapping table. You then use this table to configure the pixel and the feed.

Conclusion

To prevent ad platforms from losing data during a Shopify migration, two things are essential: a proper audit before migration and using the SKU as a platform-independent ID layer. For stores without catalog campaigns, the work involved is minimal; however, for active, high-spending DPA or PMax campaigns, skipping mapping directly results in performance loss.

If you are planning a Shopify migration and have active catalog campaigns, our migration service includes product transfer, 301 redirects, and ad account configuration; ensuring uninterrupted ad performance on migration day is part of this planning.

For the SEO and technical aspects of the migration process, our WordPress to Shopify migration guide covers the steps in detail.

‍