March 3, 2022

Out-of-cycle changes.

Marketing API

Product Sets

Change to catalog search filters

Starting March 3, 2022, we have changed how certain filters work for creating product sets in your catalog. These changes affect which items go into a product set when you create one.

Timeline
Field and operator behavior will change in 90 days. If any sets in your catalog are using the affected filters after June 1, 2022, the items in those sets may change. This means that different items could display in your ads or shops that use those sets. In addition, any requests using the filters could return a different set of items.

More information about product set filters can be found here.

Which operators are changing

OperatorChange

contains / not_contains

Your query must now match an entire word, not just part of a word. For example, name: {"contains": "red car"} will return all products that contain the two words, such as "red car" and "red fast car", but would not return “red carpet”.


Hyphenated words are considered separate words. For example, if you query name: {"contains": "shirt"}, then “shirt” and “T-shirt” will both match.


Every word in your query must appear in the field you're trying to match, but they don't need to be in consecutive order. For example, if you query name: {"contains": "jeans blue"}, then “blue cropped jeans” will match but just “jeans” or “blue” won't match.

lt

This filter option is no longer available for custom_label fields.

lte

This filter option is no longer available for custom_label fields

gt

This filter option is no longer available for custom_label fields

gte

This filter option is no longer available for custom_label fields

starts_with

This filter option is now only available for the product category field. For other fields, you should use the contains filter.


Which fields are changing

FieldDescription

custom_label_0

The value for a custom label of a product item, hotel, destination, vehicle, or home listing.


The value is treated as a string. Numeric operators (gt, gte, lt, lte) are not available on this field. Instead, you should use the custom_number_0 field, which supports integers.

custom_label_1

The value for a custom label of a product item, hotel, destination, vehicle, or home listing.


The value is treated as a string. Numeric operators (gt, gte, lt, lte) are not available on this field. Instead, you should use the custom_number_1 field, which supports integers.

custom_label_2

The value for a custom label of a product item, hotel, destination, vehicle, or home listing.


The value is treated as a string. Numeric operators (gt, gte, lt, lte) are not available on this field. Instead, you should use the custom_number_2 field, which supports integers.

custom_label_3

The value for a custom label of a product item, hotel, destination, vehicle, or home listing.


The value is treated as a string. Numeric operators (gt, gte, lt, lte) are not available on this field. Instead, you should use the custom_number_3 field, which supports integers.

custom_label_4

The value for a custom label of a product item, hotel, destination, vehicle, or home listing.


The value is treated as a string. Numeric operators (gt, gte, lt, lte) are not available on this field. Instead, you should use the custom_number_4 field, which supports integers.

custom_number_0

Custom integer value for a product item, hotel, destination, vehicle or home listing.

custom_number_1

Custom integer value for a product item, hotel, destination, vehicle or home listing.

custom_number_2

Custom integer value for a product item, hotel, destination, vehicle or home listing.

custom_number_3

Custom integer value for a product item, hotel, destination, vehicle or home listing.

custom_number_4

Custom integer value for a product item, hotel, destination, vehicle or home listing.


Offset Pagination

The GET /{product-catalog-id}/products?filter=.....&offset=...&limit=...&bulk_pagination=false endpoint is now limited to 2000 results.

What is changing

We do not currently impose any limits on offset + limit size. Starting today, when bulk_pagination = false, offset + limit cannot be greater than 2000. For example:

  • offset = 1000, limit = 1500 will not work, since offset + limit = 2500
  • offset = 100, limit = 1500 will work, since offset + limit = 1600

To paginate over a catalog without limits, bulk_pagination = true should be used.