Shopify DLT SMS Template Approval: Complete 2026 Guide

Every Indian Shopify store needs DLT-approved SMS templates before a single order confirmation can go out. Here's the exact process, the variables Shopify sends, and the templates that get approved on the first try.

Ashwin April 23, 2026 11 min read

Alintro Blog

A client messaged me in a panic last month: "we\'ve done 400 orders this week but not a single customer got an SMS — they\'re all calling asking where their order is." Classic DLT problem. No approved templates, no SMS, and no error log on Shopify\'s side to tell you anything\'s wrong. Indian telecom operators just drop everything silently.

Every Indian Shopify store hits this wall eventually. DLT (TRAI\'s regulatory framework) requires you to pre-register your brand, your Sender ID, and every SMS template before a single message goes out. If you\'re reading this before launch — good, you\'ve dodged the 400-orders mistake. Here\'s the full flow: the four template categories that matter, the six templates I copy-paste into every new merchant account, and the rejection reasons that burn 2 weeks for first-timers.

The 4 DLT template categories

Every template must be submitted under one of four categories. Picking the wrong one is the #1 reason for rejection.

CategoryPurposeApproval timeCost
TransactionalOrder confirmation, OTP, shipping, delivery1–24h₹0.12–0.18/SMS
Service ImplicitCustomer replied within last 24h — implied consent1–24h₹0.15–0.20/SMS
Service ExplicitAccount updates, rewards, loyalty points24–72h₹0.18–0.22/SMS
PromotionalMarketing, offers, sales — opt-in only24–72h₹0.20–0.30/SMS

The 6-step approval process

  1. 1. Pick a DLT portal. Jio, Airtel VI, BSNL, or Vodafone Idea — they all sync to the same central registry. Most go with Jio TrueConnect.
  2. 2. Register your Principal Entity. Upload GST, PAN, incorporation docs. Proprietorships use Udyam. Approval: 24–72h.
  3. 3. Register a Sender ID (header). Six uppercase letters, no digits. Transactional and promotional headers are separate — register both if you need both.
  4. 4. Whitelist your domain. If any template contains a URL (tracking link, product page, checkout URL), whitelist alintro.com, your store domain, and any short-link service (bit.ly, tinyurl).
  5. 5. Submit templates. Use the templates further down this page. Submit one at a time. Match the category to the content.
  6. 6. Paste Template IDs into Alintro. Once approved, each template gets a numeric Template ID (e.g. 1107172381234567890). Paste that into Alintro under your gateway settings and we attach it automatically at send time.

6 templates that get approved (copy-paste)

These are the exact templates we\'ve submitted 100+ times across merchants. First-try approval rate: ~95%.

Order confirmation

Hi {#var#}, thanks for your order #{#var#} of Rs.{#var#} at {#var#}. We will notify you once it ships. - {#var#}

Variables in order: customer name, order ID, order total, store name, signature

Shipping notification

Hi {#var#}, your order #{#var#} has been shipped via {#var#}. Track: {#var#} - {#var#}

Variables in order: customer name, order ID, carrier, tracking URL, signature

Out-for-delivery

Hi {#var#}, your order #{#var#} is out for delivery today. Please keep Rs.{#var#} ready if COD. - {#var#}

Variables in order: customer name, order ID, COD amount, signature

COD order OTP

Hi {#var#}, your OTP to confirm order #{#var#} is {#var#}. Do not share this code. Valid for 10 min. - {#var#}

Variables in order: customer name, order ID, OTP, signature

Abandoned cart

Hi {#var#}, you left {#var#} in your cart. Complete order in next 1 hour and get {#var#}% off: {#var#} - {#var#}

Variables in order: customer name, product name, discount percent, checkout URL, signature

Back-in-stock

Hi {#var#}, {#var#} is back in stock at {#var#}. Order now: {#var#} - {#var#}

Variables in order: customer name, product name, price, product URL, signature

Top 6 rejection reasons (and how to fix them)

URL not whitelisted

Add your domain (e.g. alintro.com) to your Principal Entity's approved URL list before submitting templates that contain links.

Header mismatch

The Sender ID (header) must match the one registered under your Principal Entity. Six uppercase letters, no numbers.

Content doesn't match category

Promotional language (DISCOUNT, SALE, OFFER) in a Transactional template will get rejected. Move it to a Promotional template.

Variable count mismatch

Every {#var#} must correspond to an actual dynamic value your system sends. Don't pad with unused variables.

Generic or vague template

Templates like "Hi {#var#}, thanks for your order" without order ID are often rejected. Be specific — include order number, amount, or link.

Inconsistent sender name

If your Principal Entity name is "ACME PRIVATE LIMITED", don't sign off the SMS as "Team XYZ". Must match the registered brand.

Don\'t submit the same template 5 times

DLT portals flag repeat rejections. If a template keeps bouncing, change the wording — don\'t just resubmit. Add a specific variable (order ID, amount) to transactional templates. Rework vague phrasing.

What Shopify actually passes at runtime

Alintro maps Shopify webhook payloads to the DLT template variables automatically. The common ones:

  • customer.first_name — "Priya"
  • order.name — "#1042"
  • order.total_price — "1,299.00"
  • order.order_status_url — long URL, usually shortened
  • fulfillment.tracking_number — carrier-specific
  • fulfillment.tracking_url — carrier tracking page
  • shop.name — store name for signature

FAQs

What is DLT and why does Shopify need it?

DLT (Distributed Ledger Technology) is TRAI's regulatory framework for commercial SMS in India. Every brand sending SMS must register as a Principal Entity on a DLT portal (Jio, Vodafone Idea, Airtel, or BSNL), register a Sender ID (header), and get each SMS template pre-approved. Without DLT approval, Indian telecom operators silently block your SMS — Shopify itself has no built-in DLT flow, which is why merchants use apps like Alintro.

Which DLT portal should I register on?

It doesn't matter functionally — all four (Jio, Airtel VI, BSNL, Vodafone Idea) sync to the same central registry. Most merchants use Jio DLT because the UI is slightly cleaner. Registration is free; you only pay per-template submission on some portals (~₹100).

How long does Principal Entity approval take?

24–72 hours in 2026. You upload GST certificate + PAN + incorporation docs, and the portal auto-verifies. If you're a proprietorship without GST, you'll need the Udyam certificate. Partnership firms need a partnership deed.

Can I share DLT templates across multiple Shopify stores?

Only if they're under the same legal entity / Principal Entity. Each GSTIN / PAN gets its own Principal Entity, so if you run two stores under different companies, you need two separate DLT registrations.

My template keeps getting rejected — what do I do?

Read the rejection reason carefully (it's specific). Most rejections are: (1) wrong category, (2) URL not whitelisted, (3) variable count mismatch, (4) generic content. Fix the issue, tweak the template, resubmit. Don't submit the same template 5 times — the portal flags repeat rejections.

Do I need to register promotional and transactional separately?

Yes. They are two separate header types with different rules. Transactional can send 24/7 to all registered numbers. Promotional cannot send between 9pm and 9am and honors DND (Do Not Disturb) preferences.

What's the variable format — {#var#} or %s or something else?

Indian DLT uses {#var#} — literally curly-brace-hash-var-hash-brace. Each variable can be up to 30 characters by default (some portals allow 100+ with justification). The order of variables matters: the first {#var#} in the template gets the first runtime value you pass, and so on.

Does Alintro handle DLT for me?

Alintro doesn't register your DLT entity for you (TRAI requires the brand to own that), but we provide: a template library you can copy-paste into your DLT portal, automatic Template ID attachment at send time, and Sender ID mapping. Once your templates are approved, you paste the Template IDs into Alintro and we do the rest.

Skip the DLT headache

Alintro\'s gateway setup walks you through DLT registration and gives you the approved template library. Most merchants are live within 48 hours.