Use Cases Dynamic Keywords

One campaign. Every contact reads it as their own.

Dynamic keywords let you send one bulk SMS campaign that personalizes itself per contact — name, location, last service, rep name, offer amount. 500 sends. 500 unique messages. Written once. Delivered at 98% open rate.

Home Services Automotive Any Business with a Contact List
98%
SMS open rate
1
Template. Unlimited personalization.
3x
Higher reply rate vs generic SMS
500+
Contacts. One send. Zero manual work.
Why personalization changes response rates
Generic bulk SMS gets ignored. Personalized SMS gets replies.

A message that starts with “Hi [First Name]” from a number they recognize, referencing their last interaction, outperforms a broadcast blast by every metric that matters. Dynamic keywords let you inject any field from your contact list — name, city, last service date, rep name, offer amount, vehicle make — directly into the message body. One template. Unlimited variants. Sent at scale without any manual editing.

👤
Name-based personalization

Insert first name, last name, or company name. “Hi [First Name], it’s [Rep Name] at [Company]” reads as individually written — because it is, per contact.

📍
Location-based personalization

Insert city, zip, region, or territory. Local references increase relevance — “customers in [City]” or “available in [Zip]” reads as a local message, not a national blast.

🔄
Behavior-based personalization

Reference last service, last purchase, last inquiry. “Since your [Last Service] in [Month]” signals you know them — dramatically higher open and reply rates than cold outbound.

💬
Example dynamic message
“Hi [First Name] — it’s [Rep Name] at [Company]. It’s been a while since your [Last Service]. We’re running [Offer] this [Month]. Interested? Reply YES or STOP to opt out.”

Written once. Every contact receives their own version with real data filled in. OTTO routes every reply automatically — YES to qualification, STOP to instant opt-out.

How dynamic keyword campaigns work
Upload. Personalize. Send. OTTO handles every reply automatically.
TO
OTTO HVAC
● iMessage
📋 Contact list uploaded · 847 contacts · dynamic fields mapped
🏷️ Fields: First Name · Last Service · Rep Name · Offer · City
✅ Preview generated · 847 unique message variants · ready to send
📤 Sending to: David M. · Last service: Spring tune-up · City: Towson
Hi David — it’s Mike at OTTO HVAC. It’s been a while since your spring tune-up. We’re running a fall special in Towson this week. Interested? Reply YES or NO.
YES
Great David! What’s your timeline — this week or next?
⚙️ Reply routed: David · YES · HVAC fall special · Towson · Mike notified
📊 Campaign stats: 847 sent · 412 opened · 89 replied YES · 23 STOP
🔄 Non-responders → Day 3 follow-up queued automatically
💰 Cost per engaged contact: trackable per dynamic field segment
01
Upload your list — map your dynamic fields

Import your contact list — CRM export, spreadsheet, or manual upload. Map your columns to dynamic keyword fields: first name, last service date, rep name, city, last purchase, offer amount. TextingOnly previews a sample of personalized messages before you send — so you can confirm every field resolves correctly before a single message goes out.

CRM export · Spreadsheet upload · Field mapping · Preview before send
02
Send — every contact receives their own message

One send deploys hundreds of unique, personalized messages simultaneously. Each contact receives the template with their specific data filled in — name, location, service reference, rep, offer. The message reads as individually composed. Delivery is staggered to carrier specifications via your 10DLC-registered number, maximizing deliverability at scale.

10DLC registered · Carrier-compliant sending · Staggered delivery · 98% open rate
03
OTTO routes every reply — no manual monitoring

YES or positive reply: OTTO fires a qualification flow and contact alert to your team. STOP: instant TCPA-compliant opt-out, logged and honored. No reply: automated follow-up sequence fires at 48 hours and 7 days with a new angle. Every contact is being worked continuously. Campaign performance is tracked by dynamic field — so you can see which city, which offer, which service type drove the highest engagement.

YES → qualification + alert · STOP → opt-out · No reply → nurture sequence · Per-segment reporting
Who this works for
Any business with a contact listand something relevant to say.
🏠
Home Services

Seasonal campaigns to your full customer list — personalized by service type, last visit date, and local territory. HVAC tune-up reminders, lawn care renewal, pest control seasonal outreach — all at scale.

🚗
Automotive

Service reminder campaigns referencing the contact’s vehicle, last service date, and mileage. Inventory campaigns personalized by the make and model they previously inquired about.

🏘️
Real Estate

Buyer and seller list campaigns referencing their target neighborhood, price range, or timeline. New listing alerts that reference the specific criteria they gave at opt-in.

🏥
Healthcare & Wellness

Patient recall campaigns personalized by last visit type, provider name, and recommended next appointment. Annual wellness campaigns with patient name and clinic location.

🏢
B2B & Agencies

Multi-client outbound where each contact gets the client’s local rep name and number. Dynamic keywords let one campaign template serve dozens of client accounts simultaneously.

🛍️
Retail & E-Commerce

Re-engagement campaigns referencing the contact’s last purchase category, loyalty tier, or local store location. Personalized offer amounts based on purchase history segment.

Common questions
Questions aboutdynamic keyword campaigns.
What happens if a dynamic field is missing for a contact?
You configure a fallback value for every dynamic field before sending — for example, if no first name is on file, the fallback might be “there” (“Hi there” instead of “Hi David”). TextingOnly previews a sample of resolved messages before any send so you can catch missing or incorrect fields in advance.
How many contacts can I send to at once?
TextingOnly sends to lists of any size — from a few hundred to tens of thousands. Delivery is staggered to comply with carrier requirements and protect your 10DLC sender reputation. Large sends are queued and dispatched automatically without manual management.
Can I track performance by dynamic field segment?
Yes. You can segment campaign performance reporting by any dynamic field — city, rep, service type, offer amount. This lets you identify which segment responded best and optimize future sends accordingly. Cost per engaged contact is trackable per segment.
Does OTTO automatically handle replies from a bulk send?
Yes. Every reply to a dynamic keyword campaign routes through OTTO. YES or positive replies trigger qualification and a contact alert to your team. STOP triggers instant TCPA-compliant opt-out. Non-responders can be enrolled in an automated follow-up sequence at your configured interval. No manual monitoring required.
Related features & reading
FeatureBulk SMS Campaigns FeatureITR Reply Automation Feature10DLC Registration Use CaseRe-engage Dormant Contacts Use CaseOutbound with Reply Automations InsightBeyond the Inbox
Three ways to get started.

Fastest takes 30 seconds.

Fastest · no form
Try OTTO live

See a personalized outbound campaign flow in your Messages app. 30 seconds.

Live demo →
Most popular
Run a pilot

Upload your first list. We’ll map the dynamic fields and configure OTTO reply routing.

Start the pilot →
30 minutes
Get a walkthrough

We’ll map dynamic keyword strategy to your specific list and use case.

Schedule a call →
Search Icon Site Search Close Site Search
0 results
Text Auto Attendant->