Product Tags & Metafields¶
When Emersoft Books imports or updates a product, it adds Shopify tags for BISAC subject classifications and stores a rich set of book data in Shopify metafields. These give you fine-grained control over how your catalog is organized, filtered, and displayed — both in Shopify Admin and on your storefront.
The Emersoft team will help you configure any of this during your onboarding session.
BISAC subject tags¶
When a book is imported, Emersoft Books creates Shopify tags from its BISAC subject classifications. Each tag includes a level number prefix that shows where the subject sits in the hierarchy, making it easy to filter by broad genre or narrow sub-category.
For example, a book classified as Fiction | Romance | Romantic Comedy gets three tags:
| Tag | What it means |
|---|---|
1:Fiction |
Top-level genre |
2:Romance |
Second-level sub-genre |
3:Romantic Comedy |
Third-level sub-category |
You can use these tags in Smart Collections, storefront filters, and Shopify automations. For example:
- All fiction titles: products with tag
1:Fiction - All romance titles (any sub-type): products with tag
2:Romance - Specifically romantic comedies: products with tag
3:Romantic Comedy
BISAC subject tags are created on both single imports and Bulk Import jobs, and are updated when the metadata sync runs.
Tagging an entire bulk import
Bulk Import supports global tags as a batch override — you can apply the same custom tag to every product in a job, which is the easiest way to find and manage products from a specific import later.
Catalog metafields¶
In addition to standard Shopify product fields, Emersoft Books stores a comprehensive set of book data in Shopify metafields. Catalog metadata uses the emersoft namespace on both the product (shared “work” data such as authors and subjects) and each product variant (per-edition data such as binding, publication date, pre-order flag, and wholesale cost). The same namespace also holds lightweight app-tracking fields on the product (imported_by_app, timestamps, etc.). Using a dedicated namespace means these never conflict with metafields you may already have from other apps or manual setup.
Each metafield is only written when the source data is present — if Ingram does not provide a value for a particular field on a title, the metafield is left unset on that product or variant.
Product vs variant in Shopify Admin
Fields such as authors, BISAC, audience, language, publication city, harmonized code, media mail, and choking hazard are stored on the product. Fields such as binding, format, pages, dimensions, publication date, pre-order, wholesale cost, availability, and returnability are stored on each product variant.
Metafield definitions are created automatically
The app creates Shopify metafield definitions for the emersoft product and product-variant fields during install/reinstall. The list below is the complete catalog of data Emersoft Books captures from Ingram on every imported book. The values are written to the product and/or default variant (see intro above) and remain accessible through the Shopify API and Liquid.
Most booksellers only define a handful — typically things like Authors, Binding, Audience Type, Pages, Language, and Pre-order. Cherry-pick whatever fits how you organize and merchandise your catalog, and ignore the rest. You can always add more definitions later if you find a use for them.
The metafields below are grouped by category to make them easier to navigate. The Key column shows the exact namespace.key you will use in Liquid templates, Smart Collection rules, and the Shopify Admin metafield definition screen. The Name column is a suggested friendly name to use when defining the metafield in Shopify Admin — you can pick any name you like; it does not affect how the app writes data.
Title & identifiers¶
| Name | Key | Type | Description |
|---|---|---|---|
| Title | emersoft.title_main |
Single line text | The main title without any leading article |
| Leading Article | emersoft.title_leading_article |
Single line text | Leading article (e.g. "The", "A") split out from the title |
| Title Status | emersoft.title_status |
Single line text | Distribution status from Ingram (e.g. active, out of print) |
| UPC | emersoft.upc |
Single line text | UPC barcode, where available |
| Source | emersoft.source |
Single line text | Identifier for where the metadata was sourced |
| Display | emersoft.display |
Single line text | Display category from Ingram |
Authors & contributors¶
| Name | Key | Type | Description |
|---|---|---|---|
| Authors | emersoft.authors |
Single line text list | All authors associated with the title |
| Illustrators | emersoft.illustrators |
Single line text list | Illustrators, where applicable |
| Foreword By | emersoft.forewords |
Single line text list | Contributors credited with a foreword |
| Other Contributors | emersoft.other_contributors |
Single line text list | Editors, translators, narrators, and other credits |
Series¶
| Name | Key | Type | Description |
|---|---|---|---|
| Series ID | emersoft.series_id |
Single line text | Ingram's internal series identifier |
| Series Number | emersoft.series_number |
Number | Position of the title within the series |
Subjects & classification¶
| Name | Key | Type | Description |
|---|---|---|---|
| BISAC Codes | emersoft.bisac_codes |
Single line text list | BISAC subject codes (e.g. FIC027040) |
| BISAC Subjects | emersoft.bisac_subjects |
Single line text list | Human-readable BISAC subject labels — also exposed as level-prefixed tags (see BISAC subject tags) |
| Library of Congress Subjects | emersoft.lc_subjects |
Single line text list | Library of Congress subject headings |
| Subject Area Subjects | emersoft.sa_subjects |
Single line text list | Ingram Subject Area classifications |
| Subject Area Product Type | emersoft.sa_product_type |
Single line text | Ingram Subject Area product type |
| Ingram Subject | emersoft.ingram_subject |
Single line text | Ingram's primary subject category |
| Themes | emersoft.themes |
Single line text list | Thematic descriptors |
| Dewey Decimal | emersoft.dewey |
Single line text | Dewey Decimal classification |
Looking for the full BISAC, Thema, or Dewey lists?
Ingram is not permitted to share these classification lists directly. If you'd like to look up codes or browse the full taxonomies, you can go to the source:
- **BISAC** subject codes are available for online viewing at [bisg.org](https://www.bisg.org/). Access is view-only — a subscription is required to download or obtain the full list.
- **Thema** and **Dewey Decimal** classifications are managed by their respective organizations, which may provide online access. Fees may apply for use of their full lists.
Audience¶
| Name | Key | Type | Description |
|---|---|---|---|
| Audience | emersoft.audience |
Single line text | Audience description |
| Audience Type | emersoft.audience_type |
Single line text | Audience category (e.g. Trade, Juvenile, Young Adult, Academic) |
| Min Age | emersoft.audience_age_min |
Number | Minimum target age in years (children's titles) |
| Max Age | emersoft.audience_age_max |
Number | Maximum target age in years (children's titles) |
| Min Grade | emersoft.audience_grade_min |
Single line text | Minimum US grade level (children's titles) |
| Max Grade | emersoft.audience_grade_max |
Single line text | Maximum US grade level (children's titles) |
| Lexile Level | emersoft.lexile_level |
Number | Lexile reading-level score |
Format & physical attributes¶
| Name | Key | Type | Description |
|---|---|---|---|
| Binding | emersoft.binding |
Single line text | Binding type (e.g. Hardcover, Trade Paperback) |
| Format | emersoft.format |
Single line text | Detailed product format |
| Media Type | emersoft.media_type |
Single line text | Media type (e.g. Book, Audio, eBook) |
| Language | emersoft.language |
Single line text | Language of the title |
| Pages | emersoft.pages |
Number | Page count |
| Height | emersoft.height |
Dimension | Height of the book |
| Width | emersoft.width |
Dimension | Width of the book |
| Depth | emersoft.depth |
Dimension | Spine depth of the book |
| Dimension Unit | emersoft.dimension_unit |
Single line text | Unit used for height, width, and depth (e.g. inches, cm) |
| Illustrated | emersoft.illustrated |
True / False | The title contains illustrations |
| Large Print | emersoft.large_print |
True / False | The title is a large-print edition |
| Abridged | emersoft.abridged |
True / False | The title is an abridged edition |
Publishing¶
| Name | Key | Type | Description |
|---|---|---|---|
| Publication Date | emersoft.publication_date |
Date | Publication date of the title — used by the pre-order Shopify Flow workflow to determine when to clear Pre-order |
| Publication City | emersoft.publication_city |
Single line text | City of publication |
| Country of Origin | emersoft.country_of_origin |
Single line text | Country where the book was published |
| Publisher Number | emersoft.publisher_number |
Single line text | Publisher's internal catalog number |
| Imprint ID | emersoft.imprint_id |
Single line text | Ingram's imprint identifier |
| Pre-order | emersoft.is_preorder |
True / False | true if the title had a future publication date at the time of import. Used for Smart Collections, storefront pre-order labels, and the Shopify Flow workflow that clears it on publication day |
Availability & inventory¶
| Name | Key | Type | Description |
|---|---|---|---|
| Availability | emersoft.availability |
Single line text | Availability status from Ingram |
| Backorder Allowed | emersoft.backorder |
True / False | The title can be ordered while temporarily out of stock |
| Returnable | emersoft.is_returnable |
True / False | The title is returnable to Ingram |
| Print on Demand | emersoft.pod |
True / False | The title is print-on-demand |
| Strippable | emersoft.strippable |
True / False | The title is strippable (cover-only return) |
| Carton Quantity | emersoft.carton_quantity |
Number | Number of units packed per carton |
| Cost | emersoft.cost |
Decimal | Wholesale cost from Ingram |
Compliance & shipping¶
| Name | Key | Type | Description |
|---|---|---|---|
| Harmonized Code | emersoft.harmonized_code |
Single line text | Harmonized System (HS) code for international shipping |
| Media Mail Eligible | emersoft.media_mail |
True / False | The title is eligible for USPS Media Mail rates |
| Choking Hazard | emersoft.choking_hazard |
True / False | Choking hazard warning, where applicable |
App import metadata¶
The emersoft namespace records lightweight tracking data about which products the app has touched. These are mainly used internally — you do not need to interact with them directly — but they can be useful in Smart Collections (for example, to find every product the app has ever imported).
| Name | Key | Type | When set |
|---|---|---|---|
| Imported by App | emersoft.imported_by_app |
True / False | When the product was imported through Emersoft Books |
| Import Method | emersoft.import_method |
Single line text | Records how the product was imported (e.g. single import, bulk import) |
| Created At | emersoft.created_at |
Date and time | Timestamp of when the app first created the product |
| Updated At | emersoft.updated_at |
Date and time | Timestamp of the most recent update by the app |
Metafield definitions in Shopify Admin¶
Metafields and their definitions are created automatically by Emersoft Books. You can view them in Shopify Admin under Settings > Custom data > Products and Settings > Custom data > Product variants.
You do not need to manually create definitions for the emersoft fields. During onboarding, the Emersoft team can still help you decide which definitions to expose in Search & Discovery filters, Smart Collections, theme blocks, or custom Liquid.
Once a definition exists, the metafield can appear in Shopify Admin and can be used for Smart Collection rules, storefront filters, and theme blocks depending on Shopify's capabilities for that field type.
What you can do with metafields and tags¶
Smart Collections¶
Use any metafield or tag as a condition in a Shopify Smart Collection. Examples:
- All pre-orders: products where Pre-order is
true - Pre-orders by a specific author: combine Pre-order =
truewith an author tag - Children's books: products where Audience Type contains "Juvenile"
- Large print editions: products where Large Print is
true - Books imported by Emersoft Books: products where Imported by App is
true
Storefront filters¶
Add the free Search & Discovery app by Shopify to your store and configure it to expose emersoft metafields as filterable attributes on your collection and search pages. For example, customers can filter by binding type, language, audience type, or large print. (Variant-scoped filters use variant metafield definitions.)
Theme customization¶
Metafields of type Single line text (such as Binding, Language, and Audience Type) can be displayed anywhere on your product page template using a standard Text block in the Shopify theme editor — no coding required. Add a Text block to your product template and connect it to the relevant metafield.
More complex metafield types — single line text lists and True/False fields — require Liquid code to display. The pattern for accessing these values in a Liquid template looks like this:
{% assign authors = product.metafields.emersoft.authors.value %}
{% assign illustrators = product.metafields.emersoft.illustrators.value %}
{% assign forewords = product.metafields.emersoft.forewords.value %}
{% for variant in product.variants %}
{% if variant.metafields.emersoft.is_preorder.value %}
<span class="pre-order-badge">Pre-order</span>
{% endif %}
{% endfor %}
If you need help with complex metafield display, the Emersoft team can assist during onboarding or as part of a theme customization request. See also Book Details Widget for a pre-built block that displays key book data with no setup required.