Skip to main content
Urgency messaging uses real inventory data to create authentic scarcity signals. Unlike fake countdown timers, these messages reflect your actual stock position - building trust and driving conversions.

”Only X days left”

Show a countdown based on how quickly the current variant is selling through:
{% assign variant = product.selected_or_first_available_variant %}
{% assign days = variant.metafields.app--326028230657--stockful.days_of_supply.value %}
{% assign status = variant.metafields.app--326028230657--stockful.stock_status.value %}

{% if status != "out_of_stock" and days and days <= 14 %}
  <div style="
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.6em 0.8em;
    background: #fff7ed;
    border-radius: 6px;
    font-size: 0.9em;
    color: #9a3412;
  ">
    {% if days <= 3 %}
      <strong>Almost gone</strong> - only {{ days }} {{ days | pluralize: 'day', 'days' }} of stock left
    {% elsif days <= 7 %}
      <strong>Selling quickly</strong> - {{ days }} days of stock remaining
    {% else %}
      Only {{ days }} days of stock left at current pace
    {% endif %}
  </div>
{% endif %}

Choosing the right threshold

Days of supplySuggested messagingUrgency level
1-3”Almost gone”High
4-7”Selling quickly”Medium
8-14”Only X days left”Low
15+No messageNone
Adjust the threshold (<= 14 in the example) to match your restock cadence. If you restock weekly, 7 days is normal - only show urgency below that.

”Selling Fast”

Flag products with high sell-through velocity:
{% assign variant = product.selected_or_first_available_variant %}
{% assign trend = variant.metafields.app--326028230657--stockful.velocity_trend.value %}
{% assign sold = variant.metafields.app--326028230657--stockful.sold_last_30d.value %}

{% if trend == "selling_fast" %}
  <div style="
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.35em 0.75em;
    color: #7c3aed;
    font-size: 0.9em;
    font-weight: 500;
  ">
    <span style="
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #7c3aed;
    "></span>
    Selling Fast{% if sold and sold > 10 %} - {{ sold }} sold recently{% endif %}
  </div>
{% endif %}

Combined urgency block

Combine multiple signals for maximum impact:
{% assign variant = product.selected_or_first_available_variant %}
{% assign status = variant.metafields.app--326028230657--stockful.stock_status.value %}
{% assign days = variant.metafields.app--326028230657--stockful.days_of_supply.value %}
{% assign trend = variant.metafields.app--326028230657--stockful.velocity_trend.value %}
{% assign sold = variant.metafields.app--326028230657--stockful.sold_last_30d.value %}
{% assign restock = variant.metafields.app--326028230657--stockful.restock_status.value %}

{% if status == "out_of_stock" %}
  <div class="stockful-urgency stockful-urgency--oos">
    <strong>Out of stock</strong>
    {% if restock == "pending" %}
      - restock on the way
    {% endif %}
  </div>

{% elsif status == "low_stock" %}
  <div class="stockful-urgency stockful-urgency--low">
    {% if days and days <= 7 %}
      <strong>Almost gone</strong> - only {{ days }} {{ days | pluralize: 'day', 'days' }} left
    {% else %}
      <strong>Low stock</strong>
    {% endif %}
    {% if trend == "selling_fast" and sold and sold > 10 %}
      <span class="stockful-urgency__social">{{ sold }} sold in the last 30 days</span>
    {% endif %}
  </div>

{% elsif trend == "selling_fast" %}
  <div class="stockful-urgency stockful-urgency--fast">
    <strong>Selling fast</strong>
    {% if sold and sold > 20 %}
      - {{ sold }}+ sold recently
    {% endif %}
  </div>
{% endif %}
.stockful-urgency {
  padding: 0.6em 0.8em;
  border-radius: 6px;
  font-size: 0.9em;
  margin: 0.5em 0;
}
.stockful-urgency--oos { background: #fef2f2; color: #991b1b; }
.stockful-urgency--low { background: #fff7ed; color: #9a3412; }
.stockful-urgency--fast { background: #f3e8ff; color: #6b21a8; }
.stockful-urgency__social {
  display: block;
  font-size: 0.85em;
  opacity: 0.8;
  margin-top: 0.2em;
}

Best practices

  • Use real data - Stockful’s urgency signals are based on actual sell-through velocity and inventory levels, not arbitrary numbers
  • Don’t overdo it - if every product shows urgency, none of it feels urgent. Reserve strong messaging for genuinely low-stock or fast-selling items
  • Match your restock cadence - a 7-day supply isn’t urgent if you restock weekly
  • Combine signals thoughtfully - “Low Stock + Selling Fast + 87 sold” is more convincing than any single signal
  • Respect the customer - these messages should inform, not pressure. If stock is healthy, show nothing