Why the GTT trigger email price differs from the execution price
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
- Zerodha
- Kite by Zerodha
- GTT (Good Till Triggered) order on Zerodha
- How to place a GTT order on Kite
- Why a GTT triggered but was not executed
- Why a buy GTT is rejected
- How to fix a sell GTT being rejected
- How to modify a GTT on Kite
- How to delete or cancel a GTT on Kite
- GTT notification flow
- GTT validity rules on Kite
- GTT order limitations and rejection
- Trigger price versus limit price
- Limit order on Kite
- Market order on Kite
- SL-M order on Kite
- How a SL order can trigger without the price hitting it on the chart
- Circuit limits and price bands
- How to fix a price-band rejection on Zerodha
- How to diagnose a GTT that did not trigger
- GTT for F&O on Zerodha
- GTT buy OCO on Zerodha
- Kite alerts
- CNC product code
- Kite by Zerodha
- Zerodha Console
External references
- Zerodha support: Why was my GTT order triggered but not executed?
- Zerodha support: How can I use the GTT feature?
- Zerodha support: What is the validity of a GTT order?
- Zerodha GTT terms and conditions
- NSE: trading and order types
References
- 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.
- 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.
- Zerodha GTT terms and conditions, zerodha.com/tos/gtt (limit-order placement on trigger; server-side monitoring of last traded price).
- NSE trading rules on limit-order matching at the limit price or better, NSE capital market trading regulations.