---
title: EAN/GTIN Empty in Feeds After Mapping Custom Attribute
description: "Fix empty EAN or GTIN values in product feeds: map the _alg_ean meta key, use the built-in Google integrations, and regenerate the feed."
url: "https://wpfactory.com/docs/ean-gtin-empty-in-feeds-after-mapping-custom-attribute/"
updated: "2026-09-26"
category: Troubleshooting
tags:
  - EAN and Barcodes for WooCommerce
---

# EAN/GTIN Empty in Feeds After Mapping Custom Attribute

If the EAN or GTIN column is empty in a product feed, the feed reads a different field from the one [EAN for WooCommerce](https://wpfactory.com/item/ean-barcodes-woocommerce/) uses. The EAN is stored in product meta under `_alg_ean` (set at **WPFactory > EAN > Advanced > Meta key**). Map that key, then regenerate the feed.

## Symptoms

- You map GTIN or EAN to "alg ean" or `_alg_ean` in the feed plugin, but the generated feed shows empty GTIN values.
- Products show an EAN in the admin product editor, yet Google Merchant Center or a marketplace reports missing GTINs.
- Simple products export correctly, but variations arrive without a GTIN.

## Why it happens

- **Wrong key.** EAN for WooCommerce reads and writes a single product meta key. The default is `_alg_ean`, but it can be changed in **Advanced > Meta key**. If the feed maps a different key, or you changed the key after building the feed, the column stays blank.
- **The feed only reads attributes.** Some feed tools pull GTIN from a product attribute, not from custom meta.
- **Variations have no EAN of their own.** Each variation stores its own EAN. The stored meta does not fall back to the parent product's EAN, so a variation with an empty field exports empty.
- **The feed was not regenerated.** Cached feed files keep the old, empty values until the feed is rebuilt.

## How to fix it

1. Go to **WPFactory > EAN** (also reachable at **WooCommerce > Settings > EAN**), open the **Advanced** section and note the value of **Meta key** (default `_alg_ean`).
2. In your feed plugin, map GTIN/EAN to that exact meta key. If the plugin lists custom fields with the leading underscore removed, "alg ean" is the same key.
3. If you use one of the integrations the plugin supports directly, use it instead of manual mapping (see the table below).
4. If your feed can only read a product attribute or a different meta key, open the **Tools** section and run **Copy to product attribute** or **Copy to product meta** (for example to `_gtin`). Tick the tool, fill in the target, and click **Save changes**. There is no undo for these tools.
5. Regenerate the feed file. Do not rely on a cached copy.
6. Open the new CSV or XML and check a few products, including at least one variation.

## Built-in feed integrations

These are in **WPFactory > EAN** (also reachable at **WooCommerce > Settings > EAN**) > **Compatibility** and are free.

| Feed plugin | Option | Default | What to do next |
| --- | --- | --- | --- |
| Google Listings & Ads | `alg_wc_ean_gla` | Off | Enable it, then go to **Marketing > Google Listings & Ads > Attributes > Create attribute rule**, choose **GTIN** and pick `_alg_ean` in "Use value from existing product field". |
| Google Product Feed | `alg_wc_ean_gpf` | On | Select **EAN** in **WooCommerce > Settings > Product Feeds > Global Trade Item Number (GTIN)**. |
| Woocommerce OpenPos | `alg_wc_ean_op` | On | Choose EAN in **POS > Setting > Barcode Label > Barcode Meta Key**. |

For Google Shopping free listings, the plugin also adds the EAN to the product page structured data (on by default). See [Add EAN to product structured data](https://wpfactory.com/docs/ean-structured-data-gtin/).

## If it still does not work

- **Some products have no EAN.** Run **Tools > Get stats**. It counts products without an EAN and changes nothing.
- **Variations are empty.** Add EANs to the variations, or generate them in the Tools section with **Variable products** set to **Variations only** or **All (variable and variations)**. See [why variations lose their EAN](https://wpfactory.com/docs/ean-missing-or-duplicated-for-variations/).
- **Values are rejected as invalid.** Keep **General > Admin product edit page > Check if valid** on (default) so invalid codes are flagged, and remove spaces or other characters.
- **The key was changed.** Changing **Meta key** does not move existing values. Use **Tools > Copy from product meta** with the old key to bring them across.

## FAQ

### What meta key does EAN for WooCommerce use?

`_alg_ean` by default. You can change it in **Advanced > Meta key**, and every part of the plugin, including the integrations, then uses the new key.

### Is the WooCommerce product CSV export affected?

No mapping is needed there. The plugin adds an **EAN** column to the built-in WooCommerce product exporter automatically. See [Import and Export Product EANs](https://wpfactory.com/docs/import-export-product-eans/).

### Can I copy my EANs into a GTIN field another plugin already reads?

Yes. **Tools > Copy to product meta** accepts one key or a comma-separated list such as `_gtin,_ean13`. It is free.

### Do the feed integrations need Pro?

No. The Compatibility options for Google Listings & Ads, Google Product Feed and OpenPos are in the free version.

Need a hand? Our team answers every ticket on the [EAN for WooCommerce support forum](https://wpfactory.com/support/item/ean-barcodes-woocommerce/).

Related articles

- [Ensure Unique EAN/GTIN Codes: Avoid Duplicates](https://wpfactory.com/docs/unique-ean-gtin-codes/)
- [Add EAN and GTIN to the WooCommerce REST API](https://wpfactory.com/docs/ean-rest-api/)
- [How to Set Up EAN, UPC and GTIN Codes in WooCommerce](https://wpfactory.com/docs/use-ean-upc-gtin/)
- [Barcodes Missing or Extra Text on Printed EAN Labels](https://wpfactory.com/docs/ean-barcode-labels-print-problems/)
- [Google Says Your Generated GTIN Is Invalid](https://wpfactory.com/docs/ean-gtin-invalid-google-merchant/)

 

[![EAN, UPC, ISBN Generator: Product Barcode Inventory for WooCommerce](https://wpfactory.com/wp-content/uploads/EAN-for-WooCommerce.webp)](https://wpfactory.com/item/ean-barcodes-woocommerce/)
