The distributor drops off on Thursday. By noon you have a case of the 60ml flavour three regulars have asked about all month, a new pod system nobody has heard of yet, and a shelf that needs to turn over before the weekend. The people who would buy all of it are already in your phone. The question is what to send them, when, and who answers when they reply.
Here is that week as a one-location shop runs it on SMS: the counter sign-up, the restock text, the HOLD reply, the follow-up, and what to do with customers who never answer.
Build the list at the register, not on a website
The best list a vape shop has is built during the age check, with the customer standing there and their ID already in your hand.
Federal law sets the minimum age for e-cigarette sales at 21, and the FDA's Tobacco 21 rule requires a photo ID check for anyone under 30. The sign-up rides on that step:
- Check ID at the sale, as you do now.
- Ask "want a text when this comes back in?" about the product they just bought.
- Staff type the number into the contacts list and tag it with what the customer bought:
disposable,pods,freebase-60,salts,hardware. - The confirmation text goes out before they reach the car.
Tags are the whole game later. A restock on a salt nic flavour should go to the salt customers, and nobody else.
The confirmation text matters more than the offer
Most shops skip this message or bury a coupon in it. It catches typos while the customer is still nearby, gives you a written record that this number asked to hear from you, and sets the frequency, which is what keeps people from replying STOP in month two.
Template 1: counter sign-up confirmation
Hi, it's [Shop Name] on Main St. You asked for restock texts on [product]. Reply YES to confirm. We text 2-4 times a month. Reply STOP anytime to opt out.
Trigger: staff save the contact at the register. Wait: none. Send it immediately. No reply in 24 hours: do not send a second confirmation. Leave the contact untagged as confirmed and keep them off broadcasts until they reply YES or mention it at their next visit.
A YES list will be smaller than the sign-up sheet, and it is the list that shows up on Friday.
The restock text: Thursday, after the shelf is stocked
The common mistake is sending when the box arrives rather than when the product is priced and on the shelf. A customer told "it's still in the back" won't trust the next text.
Template 2: restock announcement
[Shop Name]: [Flavour] 60ml is back, plus 2 new [brand] flavours. On the shelf now. Reply HOLD and we'll keep one behind the counter till close tomorrow.
Trigger: product checked in, priced, and on the shelf. Who gets it: only the tag that buys that format. A disposable customer does not need a 60ml freebase restock. Send window: pick the two hours before your own busiest stretch. If after-work traffic is your rush, send mid-afternoon so the text lands before the drive home. Keep every send between 8 a.m. and 9 p.m. in the customer's time zone, the window in the FCC's telephone solicitation rule.
If the truck shows up at 9am and you want the text out at 3pm, write it while you unpack and queue it with the composer's scheduled-send picker.
The HOLD reply, and who owns the inbox
HOLD gives the customer something easier than driving over right now, and it turns a broadcast into a conversation.
In Android Texter, set up an auto-reply rule on the keyword HOLD so the customer hears back in seconds even if the counter is three deep:
Template 3: HOLD auto-reply
Got it. One [product] is on hold under this number until close tomorrow. Bring your ID. Questions? Just reply here.
Then someone has to pull the product. Decide who owns the inbox before the first restock goes out; in a one-location shop, that is whoever opens. They check the dashboard inbox on arrival, pull every HOLD from the previous evening, and bin the products behind the register, labelled with the last four digits of each phone number.
Other replies ("got the mint in 3mg?", "open Sunday?") come in all week. Build quick replies so the counter can answer during a rush:
/hrsexpands to your hours and address./outexpands to "Sold out on that one. Want a text the day it's back? Reply YES."/holdexpands to the hold confirmation for anyone who asks in their own words.
The dashboard counts how often each quick reply is used, so after a month you know which answers belong in the restock text itself.
The next-morning follow-up, and when to skip it
A second message the next morning works when it carries new information. It annoys when it repeats the first.
Template 4: next-morning follow-up
[Shop Name]: [Flavour] is down to 6 bottles after yesterday. Holds from last night are set aside. Open 10-8 today.
Trigger: the restock moved. You have a real, smaller number to report. Who gets it: the same segment, minus everyone who replied or picked up. Skip it if: the product barely moved. A "last chance" text for stock that isn't running out teaches the list to ignore you.
That is at most two outbound messages per drop, per segment.
When the price changes, text it before the register does
Price changes are the other message a shop owes its list, and October 2026 gave Alabama shops one. From October 1, 2026, Alabama levies a state excise tax of $0.10 per milliliter on consumable vapor products, collected at the wholesale and import level under Act 2025-377 (coverage at Vaping Post). On a 60ml bottle, that is $6.00 before anyone's markup.
A regular who discovers a $6 jump at the register feels ambushed. One who read about it in a text from you the week before does not.
Template 5: price change notice
[Shop Name]: heads up, Alabama's new vape tax (10 cents per ml) started Oct 1. Our 60ml prices go up when current stock sells through. Questions? Reply here.
Send it once to the whole confirmed list and answer replies personally. The same note works in any state when a supplier raises prices.
Wholesale accounts run on a different clock
If you also sell to other shops, keep those buyers on a separate line. Android Texter lets one account pair several Android phones, each with its own number, in one inbox. Put wholesale on its own handset so a case-price text can't land in a retail customer's phone by accident.
Shop owners reorder on a cycle. Send the reminder a few days before each account usually runs low, rather than when you happen to have stock.
Template 6: wholesale reorder reminder
Hi [Name], it's [Your Name] at [Distributor]. Your last [product line] order was [date]. Want the same again for Thursday's run? Reply with changes or OK.
An OK goes straight to whoever builds the delivery manifest. Schedule these per account so they don't depend on someone's memory.
What a week looks like on one handset
For a single shop, the rhythm settles into this:
- Monday: clear any weekend replies. Move contacts who replied YES to confirmed.
- Tuesday and Wednesday: quiet. Answer inbound with quick replies. No broadcasts.
- Thursday: restock lands. Shelf it, then schedule Template 2 for each segment that has something new.
- Friday morning: opener pulls overnight HOLDs. Send Template 4 only to segments where stock really moved.
- Weekend: inbox only.
That is two to four broadcasts a month per customer, which matches what Template 1 promised.
What to do with the people who never reply
After a few months, part of the confirmed list will never reply, hold, or come in. Texting them every restock only trains them to ignore the number.
Every quarter, pull contacts who have not replied or visited in 90 days and send them one message:
Template 7: quiet-list check-in
[Shop Name] here. Still want restock texts from us? Reply YES to stay on, or STOP and we'll take you off. Either is fine.
Keep the YESes, remove the STOPs, and drop the silent ones to one text a month or off the list entirely.
The rules that change what you send
Three rules change what goes into these templates.
Consent and opt-out are yours to manage. The TCPA applies to every one of these messages, whatever carries them. Keep the YES replies, and honour STOP, UNSUBSCRIBE, CANCEL, END and QUIT immediately; Android Texter suppresses those keywords automatically. Courts are currently split on whether texts count as calls under the TCPA's do-not-call provision (one federal court in Virginia ruled on October 1 that they do not, while California courts still treat them as calls), so don't build your schedule around that case.
Keep health claims out of every message. Federal law prohibits marketing a tobacco product as lower-risk or less harmful without an FDA order (21 U.S.C. § 387k). "Smoother" is fine. "Safer than cigarettes" is not.
Keep the list 21-plus, and say so in the sign-up. For what carriers filter and what the PACT Act does and doesn't reach, see our earlier piece, Vape Shop SMS Marketing: What the PACT Act Really Bans.
Frequently Asked Questions
How often should a vape shop text its customers?
Two to four times a month per customer is a sustainable pace for a single shop, and it is what Template 1 promises. Tie each broadcast to a real event: a restock, a new product, or a price change. Send only to the segment that buys that format. Answering replies does not count toward the total, because the customer started that conversation.
What time of day should restock texts go out?
Send in the two hours before your own busiest stretch, so the message lands while people are deciding where to stop. For most shops that means mid-afternoon ahead of after-work traffic. Always stay between 8 a.m. and 9 p.m. in the customer's local time, and schedule the message in advance so it doesn't depend on someone being free.
Can a vape shop put a discount code in a text?
Yes, if the customer has opted in and the offer is accurate. A discount works better as an occasional reward than as a feature of every message, because a list trained to expect codes stops buying at full price. Keep health or safety claims out of the copy entirely. Federal law does not allow vape products to be marketed as less harmful without an FDA order.
Should wholesale and retail customers be on the same number?
No. Keep them on separate lines. Wholesale buyers reorder on a cycle and expect case pricing and delivery details, while retail customers expect restock news. Pairing a second Android phone to the same Android Texter account gives wholesale its own number while both inboxes stay in one dashboard, so the two lists can't get crossed in a broadcast.
Run your restock texts from the phone at the counter
If your current SMS provider won't take a vape account, or keeps filtering your restock messages, Android Texter sends them from an Android phone you own, through your own carrier line, with a shared inbox, keyword auto-replies, quick replies and scheduled sends in the dashboard. Consent and opt-out stay your responsibility, same as with any provider. Pair a phone, import your counter list, and schedule Thursday's restock text tonight.
