Your product often already has a real Shopify weight; the feed pipeline just never read it.
Missing shipping weight appears when your Merchant Center shipping settings calculate cost by weight, either carrier-calculated rates or a weight-based rate table, and the shipping_weight attribute is empty for one or more products.
Two very different situations produce the same message:
When Merchant Center reports a shipping-weight issue, Feed Doctor reads the product's real Shopify variant weight, the private catalogue value, not a storefront scrape, and maps it straight into shipping_weight automatically, carrying over whatever unit Shopify already uses. This is exactly the class of bug Feed Doctor was built around: a product that had a correct weight in Shopify the entire time, but whose feed pipeline never read it. If the variant genuinely has no weight recorded, Feed Doctor does not guess a number; it flags the product so you can weigh and enter it yourself. Feed Doctor also only proposes this fix when Merchant Center has actually raised a shipping-weight issue against that product, so a weightless digital or non-shippable item without that disapproval is left alone.
Many feed pipelines read your storefront's public page instead of Shopify's private catalogue data, and weight is not always shown there. Feed Doctor reads the weight field directly from the catalogue, which usually resolves this immediately.
Only if your Merchant Center shipping settings use carrier-calculated rates or a weight-based table. If every rate is a flat amount, Google does not need a weight for this purpose.
Whatever unit Shopify already stores for that variant, kilograms, grams, pounds, or ounces. Feed Doctor carries the existing Shopify unit through automatically instead of converting it.
Feed Doctor only proposes a weight fix when Merchant Center has actually flagged a shipping-weight issue for that product, so a weightless digital item with no such disapproval is never touched.
Source: Google Merchant Center Help: How to fix missing shipping weight · Google Merchant Center Help: Shipping weight [shipping_weight]