Skip to main content

What are DLT Templates?

Every SMS sent in India must match a pre-approved content template registered on the DLT platform. Templates define the fixed text and variable parts of your messages — essentially a blueprint of every message you plan to send.

When you send an SMS, the telecom operator's DLT scrubbing engine compares the content of your message against all templates registered under your Entity ID. If the message content does not match any approved template, the message is blocked and will not be delivered.

This system ensures that only approved, legitimate content reaches mobile subscribers, reducing spam and unsolicited communications. Template registration is mandatory for all message types — transactional, promotional, service implicit, and service explicit.

Template Categories

DLT templates are classified into four categories based on the nature and purpose of the message. Selecting the correct category is critical — a mismatch between the template category and the actual content is one of the most common reasons for rejection.

Transactional

Transactional templates are for messages triggered by a user action or a system event. These include OTPs, order confirmations, payment alerts, booking confirmations, and account-related notifications. Transactional messages can be delivered 24/7 and are delivered even to numbers registered on DND.

Promotional

Promotional templates are for marketing and advertising content — offers, discounts, product launches, event invitations, and brand promotions. These messages are delivered only between 9:00 AM and 9:00 PM and are filtered against the NDNC registry. DND numbers will not receive promotional SMS.

Service Implicit

Service Implicit templates are for informational messages sent to existing customers based on an implied business relationship. This includes account updates, policy changes, renewal reminders, and service announcements. There is no explicit opt-in required — the existing relationship serves as consent.

Service Explicit

Service Explicit templates are for messages sent to customers who have explicitly opted in for communications. This includes newsletter subscriptions, loyalty program updates, and preference-based notifications. The entity must maintain records of the opt-in consent.

Category Use Case Delivery Time DND Delivery Consent Type
Transactional OTPs, alerts, confirmations 24/7 Yes Implied (triggered by user action)
Promotional Offers, marketing, advertising 9 AM - 9 PM No Explicit opt-in required
Service Implicit Account updates, policy changes 24/7 Yes Implied (existing relationship)
Service Explicit Newsletters, loyalty updates 24/7 Yes Explicit opt-in required

Template Format Rules

DLT templates use a specific syntax for dynamic (variable) content. Understanding and following these rules is essential for getting your templates approved and ensuring messages are delivered successfully.

Variable Syntax — Mandatory Variable Tagging

As per a TRAI directive effective January 2026, all DLT platforms now require mandatory variable tagging for new templates. Variable fields must be pre-tagged with a defined data type and purpose. Only the data permitted by the tag can be populated at runtime. This change was introduced to curb misuse of SMS content templates.

Important: All new templates must use typed variable tags. Existing templates registered before January 2026 must also be updated to comply within the transition period specified by your DLT platform. Non-compliant messages will be rejected and not delivered after the enforcement deadline.

Approved Variable Tags

Variable Tag Data Type Use Case
{#numeric#} Numbers only OTPs, amounts, quantities, phone numbers
{#alphanumeric#} Letters and numbers Reference IDs, ticket numbers, order IDs, names
{#url#} Website URL Tracking links, website links, payment links
{#urlott#} OTT / App link App download links, OTT platform links
{#cbn#} Callback number Callback phone numbers, helpline numbers
{#email#} Email address Email addresses for contact or verification

The legacy {#var#} placeholder is being phased out. For new template registrations, always use the specific typed tags listed above. Choose the tag that matches the type of data you will be inserting at runtime.

Format Rules

  • Variables must use typed tag syntax (e.g., {#numeric#}, {#alphanumeric#}) — the generic {#var#} format is being deprecated for new templates
  • Maximum template length is 2000 characters
  • The template text must match the actual SMS content exactly (excluding variable portions)
  • No URL shorteners allowed in the template text — use full URLs only (e.g., https://www.yoursite.com, not bit.ly links)
  • Your brand name or company name should be included in the template for identification
  • No special characters that could change the meaning of the message or be used to bypass scrubbing
  • Unicode templates must be submitted in the target language script (Hindi, Tamil, Telugu, etc.)

Example Templates

OTP Verification:

Dear Customer, your OTP for {#alphanumeric#} is {#numeric#}. Valid for {#numeric#} minutes. Do not share this code with anyone. - SpringEdge

Order Confirmation:

Hi {#alphanumeric#}, your order #{#alphanumeric#} has been confirmed and will be dispatched by {#alphanumeric#}. Track your order at {#url#}. Thank you for shopping with SpringEdge.

Shipping Update:

Dear {#alphanumeric#}, your order #{#alphanumeric#} has been shipped via {#alphanumeric#}. Tracking ID: {#alphanumeric#}. Expected delivery: {#alphanumeric#}. - SpringEdge

Promotional Offer:

SpringEdge {#alphanumeric#} Sale! Get {#numeric#}% off on all messaging plans. Use code {#alphanumeric#} at checkout. Offer valid till {#alphanumeric#}. Visit {#url#}. T&C apply.

How to Submit Templates

After your entity and sender IDs are registered, you can submit content templates on the DLT platform. Follow these steps:

1

Navigate to Template Management

Log in to your DLT portal and go to the Template Management section. This is usually accessible from the main dashboard or navigation menu.

2

Add a New Template

Click "Add New Template" or "Register Template". The form will ask for template details including category, content, and the associated sender ID.

3

Select Category and Sender ID

Choose the template category — Transactional, Promotional, Service Implicit, or Service Explicit. Then associate the template with one of your approved sender IDs (headers). The template will only work with the sender ID it is linked to.

4

Enter Template Content

Type or paste the template content using the appropriate typed variable tags (e.g., {#numeric#}, {#alphanumeric#}, {#url#}) for all dynamic parts. Preview the template to verify the formatting looks correct. Make sure your company or brand name is included in the template body and that the content clearly matches the selected category.

5

Submit and Wait for Approval

Review the complete template, then submit for approval. The DLT platform reviews the template for compliance with TRAI guidelines. Approval typically takes 24 to 72 hours. Once approved, you receive a unique Template ID (DLT Content Template ID) that you will need to pass with every SMS API request.

Best Practices for Faster Approval

Follow these best practices to increase your chances of first-time template approval and reduce back-and-forth with the DLT review team:

  • Include your company or brand name in every template — this helps reviewers identify the sender and speeds up approval.
  • Use clear, professional language — avoid slang, abbreviations, or ambiguous text that could be misinterpreted.
  • Do not mix categories — never add promotional content (offers, discounts) to a transactional template. Each template must strictly match its declared category.
  • Keep variables specific — use typed variable tags only for truly dynamic content like names, order numbers, dates, and OTPs. Do not make entire sentences variable.
  • Include purpose and context — a template like "Your order #{#alphanumeric#} has been shipped" is far better than a vague "{#alphanumeric#}" with no context.
  • Test template readability — read the template as if you were a compliance reviewer who knows nothing about your business. Does it clearly communicate its purpose?
  • Use full URLs — never use URL shorteners (bit.ly, tinyurl, etc.). Always use the complete URL of your website or tracking page.
  • Match language consistently — for Unicode templates, ensure the language used in the template body matches the language registered for the template category.

Common Rejection Reasons

Understanding why templates get rejected helps you avoid these pitfalls. Here are the most common rejection reasons and how to fix them:

  1. Generic content: The template is too vague or does not clearly indicate its purpose. Fix: Add specific context and include your brand name. Explain what the message is about.
  2. Missing brand name: The company or brand name is not present anywhere in the template. Fix: Include your registered brand name at the beginning or end of every template.
  3. Category mismatch: Promotional content (offers, discounts, marketing language) submitted as a transactional template. Fix: Ensure the content strictly matches the selected category. Marketing content must use the Promotional category.
  4. Invalid variable usage: Variables are in the wrong format (e.g., using {var} instead of typed tags like {#numeric#}) or too many consecutive variables without fixed text between them. Fix: Use the correct typed variable tag for each placeholder and ensure there is meaningful fixed text between variables.
  5. URL issues: The template contains shortened URLs (bit.ly, goo.gl, tinyurl) or suspicious links. Fix: Always use the full URL of your website or landing page.
  6. Offensive or misleading content: The template contains language that violates TRAI guidelines, is misleading, or could be perceived as spam. Fix: Use professional, accurate language that clearly represents the purpose of the communication.
  7. Duplicate template: A similar or identical template already exists in your account. Fix: Check your existing templates before submitting a new one. Modify the content to differentiate it from existing templates.
Tip: If your template is rejected, review the rejection reason on the DLT portal, make the necessary corrections, and resubmit. There is no limit on resubmissions — you can keep refining and resubmitting until the template is approved.

Configuring Templates in SpringEdge

After your template is approved on the DLT platform, you receive a unique Template ID (also called DLT Content Template ID). This is a numeric identifier that uniquely identifies your template across the DLT ecosystem.

To use your approved template with SpringEdge:

  1. Copy the Template ID from your DLT portal (it is displayed next to each approved template).
  2. When sending SMS through the SpringEdge API, include the Template ID as a parameter in your API request along with your Entity ID and Sender ID.
  3. SpringEdge validates the Template ID before submitting the message to the telecom operator.
  4. The SMS content you send must match the approved template — only the variable tag portions (e.g., {#numeric#}, {#alphanumeric#}) can contain different text. All fixed text must be identical.

If the SMS content does not match the registered template (accounting for variable substitutions), the message will be rejected by the DLT scrubbing engine at the operator level.

For detailed API integration instructions and code examples, visit our API documentation.

Need Help with DLT?

SpringEdge's compliance team can guide you through every step of the DLT process.