Skip to main content
Discount Kit Live makes your discount data instantly accessible through metafields using an app-specific namespace.

Accessing Discount Data

Discount data is available through metafields on products, collections, and the shop object using the namespace app--9549316097--discount_kit and key discounts.

Product-Level Discounts

Access discounts that apply to a specific product:
{% assign discounts = product.metafields.app--9549316097--discount_kit.discounts.value %}

{% if discounts.size > 0 %}
  {% for discount in discounts %}
    <div class="discount">
      <h3>{{ discount.discount_title }}</h3>
      <span>{{ discount.maximum_reward_value }}% OFF</span>
    </div>
  {% endfor %}
{% endif %}

Collection-Level Discounts

Access discounts that apply to a collection:
{% assign discounts = collection.metafields.app--9549316097--discount_kit.discounts.value %}

{% if discounts.size > 0 %}
  <div class="collection-promo">
    <p>{{ discounts.first.discount_title }}</p>
  </div>
{% endif %}

Shop-Level Discounts

Access all active discounts across your store:
{% assign all_discounts = shop.metafields.app--9549316097--discount_kit.discounts.value %}

{% if all_discounts.size > 0 %}
  <div class="site-wide-promos">
    {% for discount in all_discounts %}
      <div>{{ discount.discount_title }}</div>
    {% endfor %}
  </div>
{% endif %}

DiscountSummary Object

Each discount in the array is a DiscountSummary metaobject with fields like:
  • discount_title - Display name
  • discount_type - Type (PRODUCT_VOLUME, ORDER_GOAL, GWP, etc.)
  • reward_type - PERCENTAGE or FIXED_AMOUNT
  • maximum_reward_value - Top tier discount value
  • included_markets - Market handles where applicable
  • included_customer_tags - Required customer tags

Quick Access: Best Discount Value

For simple use cases where you just need to display the best discount value, Discount Kit provides scalar metafields that are easier to work with than parsing the full discount array.
Only one of max_reward_percent or max_reward_cents is set per product/collection. Percentage discounts are preferred over fixed amounts.

Available Metafields

MetafieldTypeDescription
max_reward_percentnumber_decimalBest percentage discount (e.g., 20 for 20% off)
max_reward_centsnumber_integerBest fixed discount in cents (e.g., 500 for $5 off)
max_reward_discountmetaobject_referenceReference to the full DiscountSummary for additional details

Product Example

{% assign percent_off = product.metafields.app--9549316097--discount_kit.max_reward_percent.value %}
{% assign cents_off = product.metafields.app--9549316097--discount_kit.max_reward_cents.value %}

{% if percent_off %}
  <span class="badge">{{ percent_off | round }}% OFF</span>
{% elsif cents_off %}
  <span class="badge">{{ cents_off | divided_by: 100.0 | money }} OFF</span>
{% endif %}

Collection Example

{% assign percent_off = collection.metafields.app--9549316097--discount_kit.max_reward_percent.value %}

{% if percent_off %}
  <div class="collection-badge">
    Save up to {{ percent_off | round }}%
  </div>
{% endif %}

Accessing the Full Discount Details

Use max_reward_discount to get additional info like the discount title or message:
{% assign best_discount = product.metafields.app--9549316097--discount_kit.max_reward_discount.value %}

{% if best_discount %}
  <div class="promo">
    <strong>{{ best_discount.discount_title }}</strong>
    <span>{{ best_discount.maximum_reward_value | round }}% OFF</span>
  </div>
{% endif %}

Performance

Metafield access is instant with zero overhead:
  • No API calls - Data is already on the page
  • Server-rendered - Available during initial render
  • Always up-to-date - Synced automatically

Next Steps