How-to GTT trigger price GTT limit price slippage GTT email Kite Zerodha

Why the GTT trigger email price differs from the execution price

From WebNotes, a public knowledge base. Last updated . Reading time ~10 min. Level: Intermediate.

The price shown in a GTT (Good Till Triggered) trigger email is the trigger price, the level the last traded price touched to activate the order. It is not the price your order filled at. A GTT does not buy or sell at the trigger; it places a regular limit order at a separate limit price when the trigger is hit, and that limit order fills at the limit price or the prevailing market within it. The gap between the email price and the price you actually got is the difference between “when the order was sent” and “at what price it filled”.

This catches out almost every trader who reads the email, sees a clean trigger price, then opens the Kite order book and finds an execution a few ticks, or several rupees, away. The trigger and the limit are two different numbers doing two different jobs. This guide explains the trigger-then-limit mechanism, why slippage opens a gap between the two, when a GTT fires but does not fill at all, and how to set the limit price so the fill lands where you want it.

Conflict-of-interest disclosure. This guide is published by the WebNotes Editorial Team for informational purposes and is written independently. WebNotes operates a Zerodha account-opening referral programme, disclosed on the pages that carry the referral link; this guide does not carry it and earns no referral commission from the procedure described here.

Step-by-step procedure

The procedure infobox at the top lists the five steps. The detail below expands the mechanism that drives the price difference.

1. Read which price the email actually reports

When a GTT fires, Zerodha sends an email and an app alert. Both report the trigger price, the level at which the last traded price touched your condition and activated the GTT. The wording reads like a confirmation, but it is a fired-at signal, not a fill confirmation. Nothing in the email tells you whether the resulting limit order filled, partially filled, or rested unexecuted; for that you go to the order book.

2. Find the real fill price in the order book

Open Orders in Kite, move to the order that the GTT produced, and read the average price field. That figure is what you actually bought or sold at. If the GTT triggered at Rs 100 but the average price shows Rs 100.40 on a buy, you paid 40 paise of slippage; the order filled at the prevailing market within your limit, not at the trigger. If the order shows no fill, the limit order is resting in the book, which is a different problem covered below.

3. Understand the trigger-then-limit mechanism

A GTT is built from two prices that do separate jobs:

  • The trigger price decides when the order is sent. When the last traded price on the exchange touches the trigger, Zerodha’s server releases the order.
  • The limit price decides the worst price you accept. The order Zerodha releases is a regular limit order , and a limit order fills only at the limit price or better, never worse.

Because these are separate, the email trigger price and the order fill price are rarely identical. If the trigger is Rs 100 and the limit is Rs 101 on a buy, the order can fill anywhere up to Rs 101 depending on where the market is trading when the limit order reaches the exchange. The fill is at the market within the limit, so a fast move between the trigger touch and the order arriving produces slippage.

4. Set the limit price to absorb slippage

The limit price is where you control the outcome. Zerodha’s own guidance is direct: for a buy GTT, set the limit price above the trigger price; for a sell GTT, set the limit below the trigger. The buffer leaves room for the order to fill after the price has moved past the trigger:

  • Buy example. Trigger Rs 100, limit Rs 101. The price touches Rs 100 and is now trading at Rs 100.50. The buy limit at Rs 101 still fills, at about Rs 100.50.
  • Sell example. Trigger Rs 100, limit Rs 99. The price touches Rs 100 falling and is now at Rs 99.60. The sell limit at Rs 99 still fills, at about Rs 99.60.

A limit price set equal to the trigger fills only if the market has not moved at all between the trigger touch and the order, which on a fast move it usually has. The trade-off is the usual one: a wider buffer improves the fill chance but accepts a worse price; a tight buffer holds your price but risks no fill.

5. Act on a triggered-but-unfilled GTT

If the market gaps past your limit before the limit order can fill, the order rests in the book unexecuted and the GTT is marked triggered. A sell GTT with the limit set above a sharply falling market, or a buy GTT with the limit below a sharply rising market, will sit unfilled. The resting limit order stays in the order book for the rest of the session; modify it to a workable price or cancel it and place a fresh order manually. The deeper case where the limit order never fills is covered in why a GTT triggered but was not executed .

Why slippage is structural, not a bug

The price difference is not a Zerodha defect; it is how every server-side conditional order works against a continuous market. The GTT engine watches the last traded price during market hours and releases the limit order within seconds of the trigger touch. In those seconds, and in the time the limit order travels to the exchange and queues in the order book, the price can move. On a liquid large-cap with tight spreads the slippage is a tick or two; on an illiquid scrip, a gap-down open, or a circuit move, it can be large enough that the limit order does not fill at all.

A single small trade at the trigger price is enough to fire the GTT, because the trigger reads the last traded price, not the bid or the ask. So a GTT can fire on a brief touch and then find the market has already moved away from that touch by the time the limit order reaches the exchange. The trigger reported in the email is genuine; it just describes the activation, not the fill.

How this differs from an SL-M order

A GTT always places a limit order, so it carries the limit-order risk of not filling on a gap. An SL-M order instead places a market order when its trigger is hit, so it fills at the prevailing market with no limit-price floor, trading a worse possible price for a near-certain fill. A GTT has no SL-M equivalent: there is no GTT variant that fires a market order. This is the structural reason a GTT cannot guarantee both a trigger and a fill the way a market order can; the limit price is a deliberate ceiling, and the email trigger price is not. For the rejection cases where the order never reaches the exchange at all, rather than reaching it and not filling, see why a buy GTT is rejected and how to fix a sell GTT being rejected .

See also

External references

References

  1. Zerodha support, Why was my GTT order triggered but not executed? (as of 21 June 2026): trigger converts to a limit order; non-execution when the last traded price does not match the set limit price; guidance to set the buy limit above the trigger and the sell limit below the trigger.
  2. Zerodha support, How can I use the GTT feature? (as of 21 June 2026): GTT mechanism of releasing a limit order to the exchange when the trigger is touched.
  3. Zerodha GTT terms and conditions, zerodha.com/tos/gtt (limit-order placement on trigger; server-side monitoring of last traded price).
  4. NSE trading rules on limit-order matching at the limit price or better, NSE capital market trading regulations.

Frequently asked questions

Why is the price in my GTT trigger email different from the price I got?
The email reports the trigger price, the level that fired the GTT. A GTT then places a limit order, which fills at your limit price or the prevailing market within it. Between the trigger touch and the fill the market can move, so the executed price is usually a few ticks away from the trigger.
Does a GTT execute exactly at the trigger price?
No. The trigger price only activates the order. A GTT places a limit order at your separate limit price, so the fill happens at that limit or better, not at the trigger. If you want the trigger and target price to be close, set the limit price near the trigger with a small buffer.
What is the limit price in a GTT for?
The limit price is the worst price you accept on the order the GTT releases. The trigger decides when the order is sent; the limit decides the price floor for a sell or ceiling for a buy. The exchange fills the limit order at that price or better, never worse.
Why did my GTT trigger but not fill at all?
If the market gapped past your limit price before the limit order could fill, the order rests unexecuted in the order book. A sell GTT with the limit set above the falling market, or a buy GTT with the limit below the rising market, will sit unfilled until you modify or cancel it.
How do I reduce slippage on a GTT?
Set the limit price with a buffer beyond the trigger: above the trigger for a buy, below the trigger for a sell, so the order still fills after a small move. A wider buffer improves the fill chance but accepts a worse price; a tight buffer holds the price but risks no fill.
Where do I see the actual price my GTT filled at?
Open the triggered order in the Kite order book and read the average price. That is the executed price including slippage. The email and the app alert show only the trigger price that activated the GTT.

Reviewed and published by

The WebNotes Editorial Team covers Indian capital markets, payments infrastructure and retail investor procedures. Every article is fact-checked against primary sources, principally SEBI circulars and master directions, NPCI specifications and the official support documentation published by the intermediary in question. Drafts go through a second-pair-of-eyes review and a separate compliance read before publication, and revisions are tracked against the SEBI and NPCI rule changes referenced in the methodology section.

Last reviewed
Conflicts of interest
WebNotes is independent. No relationship with any broker, registrar or bank named in this article.