How-to GTT Good Till Triggered Zerodha Kite last traded price trigger price

How to diagnose why a GTT did not trigger on Kite

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

A GTT did not trigger almost always for one of two reasons: the last traded price never actually printed at your trigger during market hours, or the GTT was no longer active when the price arrived. A GTT (Good Till Triggered) order on Zerodha fires on the last traded price, the price at which a real trade prints on the exchange, and only during normal trading hours. It does not fire on a bid, an ask, an indicative pre-open price, or a chart wick that no trade backed. This guide walks the diagnosis in order, from the cheapest check to the tick-level dispute, so you can tell a missed tick from a disabled GTT from an execution miss.

The distinction matters because the fixes diverge. A missed tick usually self-corrects: the active GTT stays pending and fires when the price returns. A disabled or expired GTT is dead and needs replacing. A GTT that triggered but did not execute is an execution problem, not a triggering one, and you fix it at the limit-price level, not the trigger level.

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 above lists the six diagnostic steps in order. Work them top to bottom; each one rules out a class of cause before you spend effort on the next. The expansions below explain what to look for at each step and how to tell the causes apart.

1. Confirm the GTT is still active, not disabled or expired

Start here because it is the fastest test and a common cause. Open the GTT tab and read the state of the order. If the GTT is not in the active list, it never had a live instruction to fire when the price arrived.

A GTT can leave the active state before any trigger. Zerodha auto-disables a GTT on a corporate action such as a bonus or stock split, because the trigger level no longer maps to the adjusted price. An equity GTT expires after one year. A derivative GTT lapses when its contract expires. In each case the GTT was gone before your price level printed, so there was nothing to trigger. For the full state list, see GTT states: active, triggered, cancelled, expired, deleted, and disabled . If the GTT is disabled or expired, the diagnosis ends here; place a fresh GTT.

2. Compare the trigger to the last traded price, not the bid or ask

If the GTT is active, test whether the price actually reached it in the way a GTT measures price. A GTT fires on the last traded price. Zerodha describes the mechanism as a trigger that activates “when a stock price hits or crosses the trigger price based on the ticks recorded or displayed live on the system,” where each transaction on the exchange is a tick.

This is the most misunderstood point. A bid sitting at your buy trigger, or an ask sitting at your sell trigger, is not a trade. If the market depth showed a quote at your level but no trade printed there, the LTP never reached your trigger and the GTT correctly did not fire. Confirm an actual trade printed at or through your trigger, using the chart’s traded prices, not a quote you remember seeing.

3. Check that the move happened during market hours

The GTT engine monitors the LTP only during normal trading hours. It does not watch the pre-open session’s indicative price, post-close prints, or any level a stock touched between sessions.

So a stock that gapped down through your sell trigger at the open will fire your GTT at the first trade at or below the trigger in the continuous session, not on the pre-open indicative price. A level that appears on the chart from an auction or a special session, outside continuous trading, does not count. Verify the trigger level was crossed inside live continuous trading, because a level touched only outside it will never fire a GTT.

4. Look for a missed tick on a fast or thin move

If the GTT is active and a real trade did print at your trigger during market hours, the likely cause is a missed tick. The exchange processes hundreds of transactions per second, and if the system does not capture the single tick at your trigger price, the GTT may not fire. Zerodha’s own example: a stock at Rs 102 with a GTT trigger at Rs 100 that “momentarily reached the trigger price of Rs 100” on a tick the system did not record, so the GTT did not trigger.

This is likeliest on two profiles: an illiquid scrip where the trade at your level was a lone small print, and a very fast move that spent only a fraction of a second at your level. The reassurance is that a missed-tick GTT usually stays active: it “can remain pending until the stock price reaches the trigger price again.” It is not consumed by the miss. Re-check the GTT tab; if it is still active, it can still fire.

5. Separate not triggering from triggering but not executing

Before raising a ticket, make sure you are diagnosing the right failure. If the GTT shows triggered in your history or you received a trigger notification but no shares moved, the GTT did fire. The problem is then execution, not triggering: a limit order was placed and the price ran past your limit before it filled.

That is a different fix, made at the limit-price level. The remedy is to set the limit slightly beyond the trigger, a buy limit above the trigger and a sell limit below it, so a fast market still fills. See why a GTT triggered but did not execute and why a triggered GTT is not visible after end of day . Do not chase a triggering bug when the GTT triggered correctly and only the fill missed.

6. Raise a ticket for tick-level review if the price clearly traded through

If steps 1 to 5 leave you with an active GTT, a confirmed trade at or beyond your trigger during market hours, and still no trigger, the dispute is account-specific and needs Zerodha’s logs. Raise a support ticket and ask them to investigate the tick data for that specific GTT. Only Zerodha can see whether their system captured the tick, so a tick-level dispute cannot be resolved from your end. Provide the GTT, the trigger level, and the exact time you believe it traded through.

How the trigger mechanism shapes every cause

Every cause above traces back to a single design fact: a GTT is a server-side conditional order that watches the live last traded price during market hours and submits a regular limit order when the condition is met. It is not an exchange-resident order resting in the book, and it does not see quotes, only trades.

That design produces predictable failure modes. It cannot fire on a quote, so a bid or ask at your level does nothing. It cannot fire outside market hours, so gaps resolve only in continuous trading. It can miss a fleeting tick, so illiquid and fast moves are vulnerable. And it can be retired early by a corporate action or expiry, so an inactive GTT never gets the chance. Knowing the mechanism tells you which check to run, which is why the diagnosis follows the order above rather than guessing.

Reducing the chance of a future miss

You cannot make a GTT watch quotes or run outside market hours; those are fixed. You can reduce the two failure modes you control.

For the missed-tick risk on thin or fast names, do not set the trigger at a razor-thin level that the price will only graze. A buy GTT a touch above a key support, or a sell GTT a touch above a critical level rather than exactly on it, is more likely to catch a real trade. For the execution-miss risk, set the limit beyond the trigger so the resulting order fills in a fast market. For a position you must protect against a gap, accept that a GTT places a limit order that can be skipped, and pair it with active monitoring or use an SL-M order intraday, which exits at market. The 50-active-GTT cap and the one-year validity are covered in GTT validity rules on Kite ; a GTT that quietly expired is a non-trigger you can prevent by renewing on time.

See also

External references

References

  1. Zerodha support, Why is my GTT not triggered even though GTT conditions are met? (as of 21 June 2026).
  2. Zerodha support, Why was my GTT order triggered but not executed? (as of 21 June 2026).
  3. Zerodha support, Why are GTTs disabled, cancelled, expired, or rejected? (as of 21 June 2026).
  4. Zerodha terms of service for GTT orders, zerodha.com/tos/gtt (as of 21 June 2026).

Frequently asked questions

Why did my GTT not trigger even though the price hit my trigger?
A GTT fires on the last traded price during market hours. If a single trade touched your trigger and the system did not capture that tick, the GTT may not fire and stays pending until the price reaches the trigger again. It is likeliest on illiquid stocks and fast moves.
Does a GTT trigger on the bid or ask price?
No. A GTT triggers only on the last traded price (LTP), the price at which an actual trade printed. A bid or an ask sitting at your trigger level in market depth, with no trade executed there, does not fire the GTT. You need a real trade at or through the level.
Can a GTT trigger outside market hours?
No. Zerodha’s GTT engine monitors the last traded price only during normal trading hours. It does not watch pre-open indicative prices, post-close prints, or levels touched between sessions, so a GTT can fire only inside live continuous trading on the exchange.
My GTT vanished and never triggered. What happened?
It was probably auto-disabled or expired before the price arrived. A corporate action like a bonus or split disables a GTT, a one-year lapse expires an equity GTT, and a contract expiry ends a derivative GTT. A disabled or expired GTT cannot trigger; you must place a fresh one.
Will a missed-tick GTT trigger later on its own?
Usually yes. If the GTT failed to fire on a missed tick and is still active, it remains pending and can fire when the last traded price reaches your trigger again. It is not consumed by the miss. Confirm it is still active in the GTT tab rather than disabled or expired.
How do I get Zerodha to check why my GTT did not trigger?
If a confirmed trade printed at or beyond your trigger during market hours and an active GTT still did not fire, raise a support ticket. Zerodha can investigate the specific tick data for that order. Tick-level disputes are account-specific and need their internal logs to resolve.

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.