Skip to main content
Product Catalog
Updated over a week ago

The Product Catalog is a collection of products in your inventory and includes information on those products, such as prices, images, URLs, created date, and other attributes. This information is used in product recommendations, for campaign personalization, to target customers based on customer events, and dynamically updating product attributes that can trigger campaigns.

The Product Catalog is continuously updated via the Bluecore Website Integration and Customer interactions with the products online.

Structures

There are two types of Product Catalogs: product variants and parent products. The choice between which type to use is made in the pre-onboarding step.

The product variants type are when each product variant is treated as a unique product ID. For example, the same type of shirt with red, green and blue color options has three different products under this format. This is the default setup for Bluecore clients.

The parent products system uses the parent product ID as the unique identifier, meaning the aforementioned shirt example would be one product under this format.

While the product variants option is the most common, there are considerations to make when choosing which type of Product Catalog to use.

For more on the Product Catalog structures, see Pre-Onboarding Architecture Information.

Global Product Fields

These are Bluecore's standard product fields that are provisioned in every namespace. Additional custom fields can be added into your namespace by Bluecore. Bluecore only accepts product data that will be used for campaign merchandising rules (recipe rules), campaign personalization, and audience segmentation.

Field

Kind

Type

Description

id

standard

string

The unique identifier for the product, typically the Stock Keeping Unit (SKU) for SKU-level setup or the parent product ID for products setup.

This must be an ID that is consistent across the website and in-store. There is a limit of 128 characters.

name

standard

string

The name or title of the product. Product names should not have any line breaks. The only special characters allowed are: dash, hyphen, space, and semicolon.

price

standard

float

The price of the product. If decimals are not provided, they are added automatically by Bluecore. The price must be provided in the agreed upon currency for each namespace (USD unless discussed).

image

standard

string

The URL or to the image associated with the product. This is the image used in campaigns by default. Must be a valid and well-formed URL

url

standard

string

The URL where the product can be viewed or purchased. This must be a valid and well-formed URL

out_of_stock

standard

boolean

Indicates whether the product is currently out of stock.

created

reserved

date/time

Indicates when the product was created in Bluecore’s product table for the namespace due to a new product ID being ingested from an upload, feed, or event.

This is not a reflection of when the product was created in the client’s PIM or elsewhere. This is used for determining New Arrivals.

updated

reserved

date/time

Indicates the last time the product was updated.

is_bluecore_parent

standard

boolean

Indicates whether the product record is a parent product record or a variant record. Only used in product variants catalog structure.

bluecore_parent_id

standard

string

When is_bluecore_parent is “false”, this is the ID of the parent product. Only used in product variants catalog structure.

Catalog validation

Bluecore utilizes head checks to validate URLs for Product Catalog items for both the image URL and the product URL. Every product will need its image and product URL to be checked every 7 days. If the either check fails or is not completed, the product will become invalid and that product will be ineligible to be used in campaigns.

Bluecore’s head checks validates up to 2,500 URLs per hour, depending on the size of the catalog.

Shopify

Retailers using Shopify typically turn catalog validation off, as Shopify considers it a 3rd party IP, and blocks it from checking URLs.

Without catalog validation, this means the URLs aren’t validated. If a product is pulled from the website, it will still exist in the catalog, because there was nothing to invalidate it. If this is the case, the client can provide a feed of products that should be expired, so Bluecore can mark them as such.

Updating a product record

Best practices

If you use both the Bluecore Website Integration and a managed product feed, then each field should only come from one or the other. The best source for each field will be determined with your Bluecore implementation team.

Bluecore Website Integration

In most cases, clients may use the Bluecore Website Integration as their primary means to update the data in their product catalog continuously, reliably, and in near real-time.

Using the integration for product data means that every time a customer views a product, the resulting viewed-product event is inspected, and if there is data that doesn’t match the current product catalog data several times in a row in a certain timeframe, we will update the product record with the new data.

Note: This method relies on multiple visits to each Product Description Page (PDP) to update product data; if your website doesn’t consistently have traffic to each product (or product variant depending on how your SKUs are set-up), we may recommend a managed feed as a supplement to the website data.

Managed Product Feed

With a managed feed, the client sets up a scheduled file drop to a Bluecore-owned or client-owned and externally hosted SFTP folder. A Bluecore engineering team sets up recurring jobs to grab the data, providing clean and transform services if needed, then the updated information is processed by Bluecore.

Currently, managed feeds are not visible to external users in the Bluecore platform, but our support teams continuously monitor these managed feeds for issues.

NOTE: We recommend building in a 24-hour window between when your managed feed is scheduled to run and campaign launch so there is ample time to view proofs and test campaigns with updated product data.

Self-serve file import

If you need to update, correct, or add in new products ahead of the next feed run, a .CSV file can be imported directly in the Bluecore UI (requires Data Manager or Client Admin permissions). Custom Product Attributes can’t be created from the Bluecore UI, so make sure to coordinate ahead of time if additional fields are needed.

Did this answer your question?