コンテンツにスキップ

Dynamic catalog overview

このコンテンツはまだ日本語訳がありません。

How does it work?

Dynamic Product Ads (DPAs) make your campaigns more impactful by showcasing personalized product recommendations from your Product Catalog. Each product links to its product detail page, giving shoppers a seamless path from discovery to purchase. For brands with five or more SKUs, DPAs create more relevant shopping experiences and consistently drive higher performance, with advertisers typically seeing a 10–25% lift in conversion metrics.

Getting started

To use DPAs, first configure your Product Catalog via the Catalog Manager.

There are three ways to add your Product Catalog. To choose from these,

  1. In Axon Ads Manager, click the tag icon () to open the Catalog manager.
  2. Next to the name of the catalog, click the pencil icon () to open the Edit Catalog page.
  3. Choose from one of the three Data source options:
    1. From Axon Pixel
    2. Import from a file
    3. Connect Shopify

The following sections describe these three options.

1. From Axon Pixel (inferred method)

From Axon Pixel. Use Axon Pixel event data to automatically generate a catalog and import products

Inferred catalogs are the default method of catalog creation for non-Shopify sites that don’t otherwise provide a CSV stream. This method uses information registered in pixel events to build the product catalog. For finer control over which items are included in your catalog, choose methods 2 and 3.

Important data requirements for inferred method

  • Verify that your pixel sends item_id and item_variant_id with all purchase and view_item events, with the proper hierarchy
    • item_id: represents the parent item independent of its variants. Multiple item_variant_ids may share the same item_id.
    • item_variant_id: for example a size or color variation of the parent item. Every variant in your catalog must have an item_variant_id that is not shared by any other variant or item.
    • item_id and item_variant_id values passed with purchase events should match those passed with view_item events.
  • Ensure image_url is passed with view_item events, and that the URL links to a high quality image with a proper file extension.
  • item_category_id is a highly recommended field.

2. Import from a file (CSV feed)

Import from a file. Import your product catalog using a spreadsheet

CSV stream catalogs give you finer control over which products are in your product catalog. There are two ways you can integrate a CSV streamed catalog:

  1. Data feed provider: You can insert a catalog CSV feed generated through a feed provider, by leveraging one of the partners listed on the Third-party catalog feeds page.
  2. Custom CSV file: You can provide an endpoint to Axon from which it downloads the product catalog in a .csv format on a daily basis. To do this:
    • Add your catalog information to the Catalog CSV template.

    • Upload your CSV to a publicly accessible location. See this example.

    • Update this CSV whenever your catalog changes (AppLovin recommends that you update daily). AppLovin syncs your catalog stream once per day.

    • Ensure salesPrice never exceeds price, as this causes catalog sync issues due to data integrity concerns.

    • Ensure that no fields contain commas (you may use commas only to separate fields).

    • Refer to the variant object table for additional details on the required fields for CSV streams.

Important data requirements for the CSV feed method

  • Verify that your pixel sends item_id and item_variant_id with all purchase events, with the proper hierarchy
    • item_id: represents the parent item independent of its variants. Multiple item_variant_ids may share the same item_id.
    • item_variant_id: for example a size or color variation of the parent item. Every variant in your catalog must have an item_variant_id that is not shared by any other variant or item.
  • These fields (item_id and item_variant_id) passed with purchase events should match the values sent in the CSV in their respective columns (itemId and id)

3. Connect Shopify

Connect Shopify. Sync and Import your products directly from your Shopify store

If you integrated the Shopify app pixel, you can sync your product catalog by using the Connect Shopify method in the Catalog Manager. A benefit of this method is that your catalog is updated with the latest products on your site, including product pricing and availability.

How to set DPAs live in your campaigns

After you sync your Catalog by using one of the above methods, activate Enable Dynamic Product Ads when you create your campaign and choose which Catalog to use.

Additional information

Glossary

TermDefinition
catalogA catalog holds the products you intend to sell. AppLovin recommends that you have only one catalog for all your products.
variantVariants are individual SKUs to sell. Every SKU should be its own variant. The catalog manager considers variants that have the same itemId to be variants of the same item. For example, a Red Small Shirt, Red Large Shirt, and Blue Large Shirt by the same brand are each their own variant but share the same itemId.

The Variant object

FieldTypeRequired?Description
additionalImageUrlsString[]noAdditional images associated with the variant. Valid extensions are .jpg, .jpeg, and .png. Use semicolon characters rather than commas to separate items in this array.
additionalVideoUrlsString[]noAdditional videos associated with the variant. Valid extension is mp4. Use semicolon characters rather than commas to separate items in this array.
ageGroupStringnoOne of ADULTS, ALL_AGES, INFANT, KIDS, NEWBORN, or TODDLER
brandStringnoIgnored if another variant exists with the same itemId. Must be no longer than 256 characters.
categoryIdIntegeryesGoogle category ID
descriptionStringyesA short description of the variant. The description should be concise and informative, no longer than 8192 characters.
genderStringnoOne of FEMALE, MALE, or UNISEX
idStringyesThe ID of the variant. This must match the item_variant_id in your pixel. Must be no longer than 64 characters.
isAvailableBooleanyesWhether the variant is available or out of stock
isBundleBooleanyesWhether the variant is a collection of multiple items sold together
itemIdStringyesThe ID shared across variants of an item. This must match the item_id in your pixel. Must be no longer than 64 characters.
multipackQuantityNumbernoThe number of identical items in a single pack
nameStringyesThe name of the variant. Must be no longer than 1024 characters.
numberOfReviewsNumbernoThe total number of reviews of the variant
priceDecimalyesThe price of the variant. If the variant is on sale, price should be the original price before the sale.
primaryImageUrlStringyesThe primary image associated with the variant, shown by default when the variant displays. Valid extensions are .jpg, .jpeg, and .png. Must be no longer than 2048 characters.
primaryVideoUrlStringnoThe primary video associated with the variant, shown by default when the variant displays. Valid extension is mp4. Must be no longer than 2048 characters.
ratingDecimalnoThe rating of the variant, on a scale from 0 to 5. null if there is no rating.
rewardEndDateDateTimenoWhen the rewardPercent validity ends. Format this as a UTC time according to ISO-8601, without a time zone offset (for example: 2025-01-07T00:00:00). If rewardStartDate and rewardEndDate are both null, the rewardPercent is not active. If only rewardEndDate is null, the rewardPercent is active beginning at the rewardStartDate.
rewardPercentNumbernoThe percent-reward that a customer receives for purchasing the variant, expressed as a number between 0 and 100
rewardStartDateDateTimenoWhen the rewardPercent begins to be valid. Format this as a UTC time according to ISO-8601, without a time zone offset (for example: 2025-01-01T00:00:00). If rewardStartDate and rewardEndDate are both null, the rewardPercent is not active. If only rewardEndDate is null, the rewardPercent is active beginning at the rewardStartDate.
salePriceDecimalnoThe on-sale price of the variant. null if the variant is not on sale.
salePriceEndDateDateTimenoWhen the salePrice validity ends. Format this as a UTC time according to ISO-8601, without a time zone offset (for example: 2025-01-07T00:00:00). If salePriceStartDate and salePriceEndDate are both null, the salePrice is not active. If only salePriceEndDate is null, the salePrice is active beginning at the salePriceStartDate.
salePriceStartDateDateTimenoWhen the salePrice begins to be valid. Format this as a UTC time according to ISO-8601, without a time zone offset (for example: 2025-01-01T00:00:00). If salePriceStartDate and salePriceEndDate are both null, the salePrice is not active. If only salePriceStartDate is null, the salePrice is active until the salePriceEndDate.
webUrlStringyesThe product landing page URL. This page must have the pixel running and fire a view item event.