Skip to main content
Contributor I
Jun 14, 2024 10:55 AM UTC
Solved

Dynamic product feed sale price

Hi, we need to set a sale price in a dynamic product feed for our Flows. Can you help with these? 

This topic has been closed for replies.
annasophiefc
2025 Champion
Jun 14, 2024 12:16 PM UTC

Hi @ddgfashion 

 

Thank you for posting in the community!

 

This will depend on the catalog you are pulling your data from. Some in integrations and platforms offer this: Shopify, Woocommerce etc, where the data is pulled in dynamically as shown below:

 

 

If you are working in a custom catalog I can refer to this guide, that allows you to setup the sale price and price variables dynamically for custom catalog products. :https://medium.com/klaviyo-developers/simplified-custom-product-blocks-b22e53d21bf6

 

I hope this helps :)

Champion & Klaviyo Partner based in Aarhus, Denmark. It is all about communicating the right message to the right people at the right time!

7 replies

annasophiefc
Partner - Platinum
2025 Champion
Jun 14, 2024 12:16 PM UTC

Hi @ddgfashion 

 

Thank you for posting in the community!

 

This will depend on the catalog you are pulling your data from. Some in integrations and platforms offer this: Shopify, Woocommerce etc, where the data is pulled in dynamically as shown below:

 

 

If you are working in a custom catalog I can refer to this guide, that allows you to setup the sale price and price variables dynamically for custom catalog products. :https://medium.com/klaviyo-developers/simplified-custom-product-blocks-b22e53d21bf6

 

I hope this helps :)

Champion & Klaviyo Partner based in Aarhus, Denmark. It is all about communicating the right message to the right people at the right time!
Contributor I
Jul 2, 2024 9:58 AM UTC

Dear,

 

How can we send product price on discount through API? We still do not have an option “Original price for sale products”.
We’ve tried to add old_price, but we got an error: “'special_price' is not a valid field for the resource 'catalog-item’.”

annasophiefc
Partner - Platinum
2025 Champion
Jul 5, 2024 7:54 AM UTC

Hi @ddgfashion 

 

If the values were not mapped from the beginning and you have added a new field, I would delete the catalog and upload it from scratch in order to remap the newly added values. 

 

When you are working with a custom catalog it is not available to automatically pull this data into the dynamic product feed. In this case you would have to set it up with the abovementioned guide.

 

I hope this helps :-)

 

Champion & Klaviyo Partner based in Aarhus, Denmark. It is all about communicating the right message to the right people at the right time!
Contributor I
Jul 5, 2024 8:11 AM UTC

Hi @ddgfashion 

 

If the values were not mapped from the beginning and you have added a new field, I would delete the catalog and upload it from scratch in order to remap the newly added values. 

 

When you are working with a custom catalog it is not available to automatically pull this data into the dynamic product feed. In this case you would have to set it up with the abovementioned guide.

 

I hope this helps :-)

 

We're sending products through API. Do we need to delete all products and then import them again? Also, should we send "first" time from API or we should import from Excel/CSV/JSON?

annasophiefc
Partner - Platinum
2025 Champion
Jul 5, 2024 8:33 AM UTC

Hi again @ddgfashion 

 

Lets dig into this. Which API are you using? And are you manually mapping your fields somewhere else?

 

For the abovementioned guide you would have to use a syntax similar to the example below:

 

 

{% catalog event.ProductID %}

 

{% if 'special_price' not in catalog_item.metadata %}

 

 INSERT DYNAMIC PRICE 

 

{% else %}

 

 INSERT DYNAMIC PRICE 

INSERT DYNAMIC SPECIAL_PRICE

 

{% endcatalog %}

 

Champion & Klaviyo Partner based in Aarhus, Denmark. It is all about communicating the right message to the right people at the right time!
Contributor I
Jul 12, 2024 9:56 AM UTC

Hi again @ddgfashion 

 

Lets dig into this. Which API are you using? And are you manually mapping your fields somewhere else?

 

For the abovementioned guide you would have to use a syntax similar to the example below:

 

 

{% catalog event.ProductID %}

 

{% if 'special_price' not in catalog_item.metadata %}

 

 INSERT DYNAMIC PRICE 

 

{% else %}

 

 INSERT DYNAMIC PRICE 

INSERT DYNAMIC SPECIAL_PRICE

 

{% endcatalog %}

 

Hi,

Developer tried to solve it that way and failed. We dont mapping fields. Can you help step by step?

 We're using: https://a.klaviyo.com/api/
'type' => 'catalog-item'

Contributor I
Jul 17, 2024 8:51 AM UTC

Please, can we get any help?