💬 WhatsApp API @ Best Rate | Zero Setup Fee → 99.9% Uptime OTP Delivery — Try FREE Demo! 🏆 10,000+ Registered Businesses — 2,000+ Enterprise Clients Served 🚀 API Integration in Under 5 Minutes 🏅 Verified Business Badge with RCS Messaging 💬 WhatsApp API @ Best Rate | Zero Setup Fee → 99.9% Uptime OTP Delivery — Try FREE Demo! 🏆 10,000+ Registered Businesses — 2,000+ Enterprise Clients Served 🚀 API Integration in Under 5 Minutes 🏅 Verified Business Badge with RCS Messaging
Talk to Sales: India 1800 102 1822

DLT Sample Templates 2026: Bulk SMS Formats with New Variable Tags

TRAI has replaced the generic {#var#} placeholder with six typed variable tags. Here is what changed, how to tag each value, and real messages rewritten in the new DLT-ready format for every category.

6 typed variable tags{#var#} phased outCTA whitelistingCopy-ready examples
6Typed variable tags
15 Jan 2026Mandatory for new templates
40 charsMax {#alphanumeric#} length
60 daysGrace window for old templates

Quick Answer

Under TRAI's November 2025 direction, DLT content templates must pre-tag every variable with one of six types: {#numeric#} for OTPs and amounts, {#alphanumeric#} for names and IDs (max 40 characters), {#url#} and {#urlott#} for whitelisted links, {#cbn#} for callback numbers and {#email#} for email addresses. New templates must use them from 15 January 2026; untagged or mismatched messages are rejected once enforcement applies. SMSGatewayHub helps convert and re-register your templates.

What are the new DLT variable tags?

Each changing value in a template must be tagged with the data type it will carry. The generic {#var#} is no longer accepted for new templates.

TagUse it forRules
{#numeric#}OTPs, amounts, quantities, account and policy numbersDigits 0-9 only. No letters, commas, spaces or symbols.
{#alphanumeric#}Names, order/booking/ticket IDs, masked card numbers, merchant namesUp to 40 characters. Cannot start with www, http or https. The only tag that may sit directly next to another of the same type.
{#url#}Website links: tracking pages, statements, portals, payment linksMust match a URL CTA (static, dynamic or short URL) whitelisted against the template.
{#urlott#}App store, APK and OTT links (for example WhatsApp or Play Store)Must match a CTA registered under the OTT/APK category.
{#cbn#}Callback numbers: support lines, toll-free and landline numbersMust match a registered number CTA. Keep the country code in fixed text, not inside the variable.
{#email#}Email addresses such as support or billing contactsMust be a valid email format.

Some operator portals display short forms such as {#num#}, {#alp#}, {#urg#}, {#uro#} and {#eml#}; they carry the same rules. Always pick the tag your DLT portal offers in its Insert Variable menu.

What is the timeline for variable tagging?

Dates as reported by DLT platforms and messaging providers; your operator portal shows the deadline that applies to your entity.

  1. 18 Nov 2025: TRAI direction

    TRAI directed access providers under TCCCPR 2018 to require pre-tagged, typed variables in every content template.

  2. 15 Jan 2026: new templates

    All templates registered from this date must use the six typed tags. Templates using only {#var#} are not approved.

  3. 60-day grace for old templates

    Templates registered earlier keep working in logger mode: messages still deliver, but mismatches are flagged so you can fix them.

  4. Enforcement

    After the grace window, messages whose content does not match the tagged template, or whose links and numbers are not whitelisted CTAs, are rejected at scrubbing.

Old {#var#} format vs 2026 typed format

Old template (before 2026)New template (2026)Why it changed
{#var#} is your OTP for login. Valid for {#var#} minutes.{#numeric#} is your OTP for login. Valid for {#numeric#} minutes.Both values are digits, so both become {#numeric#}.
Dear {#var#}, your order {#var#} is out for delivery.Dear {#alphanumeric#}, your order {#alphanumeric#} is out for delivery.Names and order IDs mix letters and digits.
Pay your bill at {#var#}Pay your bill at {#url#}The link must now be a whitelisted URL CTA.
Call {#var#} for help.Call {#cbn#} for help.The number must be a registered callback number CTA.
Dear customer {#var#}{#var#}{#var#}Dear {#alphanumeric#}, your service request {#alphanumeric#} is registered. - ABC SupportPure-variable templates are rejected; the new version adds meaningful fixed text.

What are the DLT content template categories?

CategoryDefinitionIllustrations
1. TransactionalAny message containing an OTP that is required to complete a banking transaction initiated by a bank or financial institution. Applies to all banks (national, scheduled, private, government or MNC).OTP for completing a net-banking transaction; OTP for a credit/debit card transaction at a merchant location
2. Service ImplicitAny message arising from the customer's action, typically against a transaction or relationship with the enterprise, that is not promotional.Net-banking and card confirmations; purchase confirmations and delivery status; wallet payment OTPs; OTPs for logins, social apps, verification links, securities trading, demat, KYC and e-wallet registration; TSP/ISP messages; balance, bill, due-date and recharge alerts (DTH, cable, prepaid electricity); delivery notifications and upgrades; retail bill and warranty messages; school attendance and transport alerts; hospital, clinic, pharmacy, radiology and pathology messages on registration, appointments, discharge and reports; app-based service confirmations; Govt/DoT/TRAI mandated messages; updates from car workshops, repair shops and gadget service centres; directory services such as Justdial and Yellow Pages; day-end/month-end settlement alerts to securities/demat holders
3. Service ExplicitMessages that require the customer's explicit consent, verified directly from the recipient in a robust and verifiable manner and recorded by the consent registrar. Any service message that does not fall under service implicit.Messages to existing customers recommending or promoting other products or services. A consent template can additionally be linked.
4. PromotionalAny message sent to non-customers with the intention to promote or sell a product, goods or service. Service content mixed with promotional content is treated as promotional.Sent after preference and consent scrubbing; consent overrides preferences. A customer consent template can additionally be linked.

Under TRAI's new header suffix rules, service explicit templates are being moved under the promotional (-P) category. See SMS sender ID suffixes and service explicit vs service implicit SMS.

Transactional template examples

Only banks and financial institutions may use this category, for OTPs that complete a banking transaction.

Actual message2026 template format
824926 is the otp for trxn of inr 57.75 at zaak epayment services pv with your sbi card xx3931. otp is valid for 10 mins. pls do not share with anyone{#numeric#} is the otp for trxn of inr {#numeric#}.{#numeric#} at {#alphanumeric#} with your sbi card {#alphanumeric#}. otp is valid for {#numeric#} mins. pls do not share with anyone
032456 is your OTP for fund transfer for amount Rs.3000 to Ravi. OTP valid for 8 minutes. Do not share this OTP with anyone.{#numeric#} is your OTP for fund transfer for amount Rs.{#numeric#} to {#alphanumeric#}. OTP valid for 8 minutes. Do not share this OTP with anyone.
428684 is OTP for your eComm Txn for amount Rs.15000 OTP valid for 8 minutes. Do not share this OTP with anyone.{#numeric#} is OTP for your eComm Txn for amount Rs.{#numeric#} OTP valid for 8 minutes. Do not share this OTP with anyone.
852456 is your OTP for BillDesk Payment in NetBanking. OTP is valid for 8 minutes.{#numeric#} is your OTP for BillDesk Payment in NetBanking. OTP is valid for 8 minutes.

Send amounts without thousand separators (3000, not 3,000) so they pass {#numeric#}; decimals can be split with a fixed dot, as in the first example.

Service implicit template examples

Non-promotional messages triggered by a customer's own transaction or relationship with you.

Actual message2026 template format
Thank you for using EMI Facility on your IDBI Bank Credit Card XX3495 EMI request for Rs. 25000.00 executed on 01/07/2019.Thank you for using EMI Facility on your IDBI Bank Credit Card {#alphanumeric#} EMI request for Rs. {#numeric#}.{#numeric#} executed on {#numeric#}/{#numeric#}/{#numeric#}.
YES BANK - Your new bill for BESCOM Bangalore - account 0842948000 for Rs 4339.00 could not get scheduled because auto pay limit is less than the bill amount.YES BANK - Your new bill for {#alphanumeric#} - account {#numeric#} for Rs {#numeric#}.{#numeric#} could not get scheduled because auto pay limit is less than the bill amount.
674508 is your account verification code for ABC App. Do not share it with anyone.{#numeric#} is your account verification code for ABC App. Do not share it with anyone.
Dear Priya, your order ORD7788120 has been shipped. Track it at https://abc.in/t/7788120 - ABC StoreDear {#alphanumeric#}, your order {#alphanumeric#} has been shipped. Track it at {#url#} - ABC Store
Your appointment with Dr. Mehta is on 12 Oct at 10:30 AM. For changes call 07314000000 - City ClinicYour appointment with Dr. {#alphanumeric#} is on {#numeric#} {#alphanumeric#} at {#numeric#}:{#numeric#} {#alphanumeric#}. For changes call {#cbn#} - City Clinic
Your ticket TKT2291 is resolved. Reply to support@abc.in if the issue persists. - ABC SupportYour ticket {#alphanumeric#} is resolved. Reply to {#email#} if the issue persists. - ABC Support

Most business OTPs (logins, app sign-ups, order confirmation) belong here. Every link or number placed in {#url#} or {#cbn#} must first be registered as a CTA. SMSGatewayHub's OTP SMS service sends them on priority routes.

Service explicit template examples

Messages to existing customers that need recorded consent. Link the approved consent template while creating the content template.

Actual message2026 template format
Your Rs.500 exclusive voucher is UNUSED!! Redeem it on purchase of Rs.1000 at ABC Store. Use code SAVE654 Valid till 31 Mar! T&C.Your Rs.{#numeric#} exclusive voucher is UNUSED!! Redeem it on purchase of Rs.{#numeric#} at ABC Store. Use code {#alphanumeric#} Valid till {#numeric#} {#alphanumeric#}! T&C.
ABC Finance Personal Loan needs Minimal Documentation. Apply in one click https://abcfin.in/pl8tFEABC Finance Personal Loan needs Minimal Documentation. Apply in one click {#url#}
Hi, please share your meeting experience with your RM Raju at https://abc.co/fb/ywq8 - ABC SecuritiesHi, please share your meeting experience with your RM {#alphanumeric#} at {#url#} - ABC Securities

Promotional template examples

Marketing messages to non-customers, sent from numeric headers after preference and consent scrubbing.

Actual message2026 template format
Lifetime Free ABC Bank Credit Card with vouchers worth Rs.3000. SMS APPLY to 5676766. TnC apply.Lifetime Free ABC Bank Credit Card with vouchers worth Rs.{#numeric#}. SMS APPLY to 5676766. TnC apply.
Get 20% off on all winter wear this weekend. Shop now https://abc.in/sale - ABC FashionGet {#numeric#}% off on all winter wear this weekend. Shop now {#url#} - ABC Fashion
Install the ABC Rewards app and win Rs 2000 instantly: https://play.google.com/store/apps/details?id=com.abc.rewardsInstall the ABC Rewards app and win Rs {#numeric#} instantly: {#urlott#}

Promotional messages reach non-DND numbers only and go out from numeric headers. Promotional templates may also be fully fixed, with no variables. Learn more on our promotional SMS page.

How do I convert my old {#var#} templates?

  1. Export your templates

    Download all approved content templates from your DLT portal and list which still use {#var#}.

  2. Tag each variable

    Replace every {#var#} with the right type: {#numeric#} for OTPs and amounts, {#alphanumeric#} for names and IDs, {#url#}/{#urlott#} for links, {#cbn#} for phone numbers, {#email#} for email.

  3. Register CTAs

    Whitelist every domain, short URL, app link and callback number you send, and link those CTAs to the templates that use them.

  4. Re-submit and map

    Submit the updated templates, then update the new template IDs in your SMSGatewayHub panel or API calls.

  5. Test before cut-over

    Send test messages with real values (no commas in numbers, no extra spaces) and check delivery reports for template mismatch errors.

Content template validations (2026)

Operator portals check these rules automatically.

  • Every changing value needs a typed tag; the generic {#var#} is not accepted for new templates.
  • Use exactly the tag that matches the data: digits-only values in {#numeric#}, mixed text in {#alphanumeric#}.
  • Only {#alphanumeric#} tags may appear back-to-back; any other pair of variables needs fixed text between them.
  • Links and phone numbers inside {#url#}, {#urlott#} and {#cbn#} must match CTAs registered for that template.
  • Do not use 2 or more spaces between words, before a word or after a word.
  • Transactional and service templates must contain at least one variable; promotional templates can be fully fixed.
  • Keep meaningful fixed text: templates made only of variables, or with fewer than 6 fixed characters, are rejected.
  • Uploading a duplicate shows the error "Template Message already registered (Template Name - ****)".

Dos and don'ts for content templates

DoDon't
Use the promotional category for communication intended to be sent from numeric sender IDs only.Register the same content template against multiple headers.
Use the transactional category only for banking enterprises, and only for OTPs during fund transfer, online payment or merchant transactions.Select headers that are irrelevant to the template.
Link a consent template for service explicit templates, otherwise the template gets rejected.Select the Transactional category if you are a non-banking enterprise.
Choose a relevant, recognisable template name.Submit templates with the old {#var#} placeholder, the wrong tag type, or links and numbers that are not registered CTAs.
Use message type TEXT for general messages and Unicode for regional-language messages.Use double spaces (pre-check the template in Notepad++ before submission).
Tag each value with its type: {#numeric#} for amounts and OTPs, {#alphanumeric#} for names and IDs, {#url#} for links, {#cbn#} for numbers.Create templates with fewer than 6 characters, or made only of variables (e.g. Dear customer {#alphanumeric#}{#alphanumeric#}{#alphanumeric#}.).
Draft templates in Notepad or Notepad++ to avoid extra spaces and invalid characters.Use external fonts or characters other than those on a keyboard.
Keep at least 6 fixed characters (applies to pure OTP messages).
Remember that linking consent templates to promotional content templates is optional.
Send numbers without commas or spaces so they match {#numeric#}.Put a country code such as +91 inside {#cbn#}; keep it in fixed text.

Operator guidance on consent linking for service explicit templates has varied; follow the current rule shown on your DLT portal.

How do I create a consent template?

A consent template is the standard message sent to consumers to seek their consent to receive promotional or marketing communication from a particular brand for a given scope. When creating one, fill in:

Template name – any name of your choice. Brand name – your product or trade name; if you have several, list each. For example, the enterprise "ABC Food Works" may own three brand portfolios: Pizzahut Pizza, Dunkin' Donuts and Hatims Kitchen. Scope of consent – the type of communication you want to send to end users (an opt-out procedure can also be given). The scope must not contain actual message content.

Example scopes: (1) Would Like to Send Communication Regarding All Marketing Offers and Events to Our Registered Customers. (2) "ABC Solutions" needs Your Consent in Order to Serve You Better. We May Send You Messages About Your Account Information, Activity and Our Best Offers. (3) We will send you updates, transactions, recommendations of our services or products being a registered customer with us.

With these details filled, the enterprise submits the template for approval. There is no limit on the number of consent templates. After approval by the registrar, you can link consent templates to content templates in the promotional or service explicit category. Choose a short, relevant name for each consent template so it is easy to pick when creating content templates.

Getting your templates live with SMSGatewayHub

Once your templates are approved, add the template IDs and linked headers to your SMSGatewayHub account and send through the panel, HTTP API or SMPP. If a message is rejected after enforcement, compare it character by character with the approved format and check our DLT error codes and solutions.

Need the full upload procedure? Follow the DLT template registration process, or let our DLT priority support team prepare and file templates for you. For more ready-to-adapt wording, browse the blog bulk SMS example message templates and the latest TRAI variable tagging update.

Frequently Asked Questions

The single {#var#} placeholder has been replaced by six typed tags: {#numeric#}, {#alphanumeric#}, {#url#}, {#urlott#}, {#cbn#} and {#email#}. Each variable in a content template must use the tag that matches the data it will carry.

Templates registered before 15 January 2026 were given a 60-day grace window in logger mode, where messages still deliver but mismatches are flagged. After enforcement, non-compliant messages are rejected, so old templates should be re-registered with typed tags. SMSGatewayHub can convert and re-submit them for you.

Use {#numeric#}. It accepts digits only, so send amounts without commas or currency symbols and keep text such as Rs. or INR in the fixed part of the template.

Up to 40 characters. It suits names, order IDs, booking references and masked card numbers, and it cannot begin with www, http or https; links must use {#url#} or {#urlott#} instead.

Yes. Any link in {#url#} or {#urlott#}, and any number in {#cbn#}, must match a call-to-action (CTA) whitelisted on the DLT portal and linked to that template. Unregistered links or numbers cause rejection.

Only two {#alphanumeric#} tags may sit back-to-back. Any other combination needs fixed text, a space or punctuation between the variables.

No. The transactional category is only for banks and financial institutions sending OTPs to complete banking transactions. Other businesses, including those sending login or order OTPs through SMSGatewayHub, register them as service implicit templates.

Yes. SMSGatewayHub reviews your existing templates, tags each variable, registers the required CTAs through DLT priority support and maps the new template IDs in your account so delivery is not interrupted.

Get your templates 2026-compliant

Send us your current DLT templates. SMSGatewayHub will tag the variables, register CTAs and map the new IDs, then you send bulk and OTP SMS on Pay As You Go pricing.