Postscript provides SMS-first marketing for Shopify stores. This guide covers setup, automation, and optimization for text message campaigns.
Why Postscript?
Shopify SMS specialist:
| Feature | Benefit |
|---|---|
| Shopify-native | Deep data integration |
| Two-way SMS | Conversations, not blasts |
| AI responses | Automated customer service |
| Segmentation | Shopify data targeting |
| Compliance | Built-in TCPA compliance |
SMS performance:
- 98% open rate
- 45% click rate (best in class)
- 25% average conversion rate
- $71 average revenue per 1K sends
Postscript Pricing
| Plan | Monthly | Per SMS | Per MMS |
|---|---|---|---|
| Starter | $0 | $0.015 | $0.045 |
| Growth | $100 | $0.010 | $0.030 |
| Professional | $500 | $0.007 | $0.021 |
Volume discounts available at higher tiers
What’s included:
- Unlimited subscribers
- All automations
- Two-way messaging
- AI responses (paid add-on)
Getting Started
Step 1: Install Postscript
- Go to Shopify App Store
- Search “Postscript SMS”
- Click Add app
- Authorize Shopify access
- Complete account setup
Step 2: Set Up Sending Number
Options:
- Toll-free (recommended)
- Short code (high volume)
- 10DLC (local number)
Toll-free setup:
- Apply for number
- Complete verification
- Wait 1-3 days
- Start sending
Step 3: Configure Compliance
Required settings:
- Terms and conditions
- Privacy policy link
- Opt-out handling (STOP)
- Quiet hours (9pm-9am)
Step 4: Build Subscriber List
Collection methods:
- Checkout opt-in
- Popup forms
- Keywords (text-to-join)
- Landing pages
Subscriber Collection
Checkout Opt-In
Add to Shopify checkout:
- Go to Settings > Checkout
- Enable SMS marketing
- Postscript syncs automatically
- New customers opt in at checkout
Popup Forms
Create signup popups:
- Exit intent trigger
- Timed display
- Scroll trigger
- Mobile-optimized
Keywords
Text-to-join:
- Customer texts “JOIN” to your number
- Auto-response with opt-in
- Coupon delivery
- Welcome flow triggers
List Growth Tactics
| Tactic | Conversion |
|---|---|
| Checkout opt-in | 3-5% |
| Popup with discount | 5-8% |
| Keyword campaign | Varies |
| Social promotion | 1-3% |
Automations
Welcome Series
Subscriber joins list
↓
Immediate: Welcome + discount code
↓
Day 3: Best sellers showcase
↓
Day 7: Social proof/reviews
↓
Day 14: Check-in + support
Abandoned Cart
| Message | Timing | Content |
|---|---|---|
| 1 | 1 hour | Cart reminder + link |
| 2 | 24 hours | Urgency + discount |
| 3 | 48 hours | Final reminder |
Recovery rate: 10-18%
Browse Abandonment
Trigger: Viewed product, didn’t add to cart
- Wait 2-4 hours
- Send product reminder
- Include image (MMS)
Post-Purchase
Order placed
↓
Immediate: Thank you + upsell
↓
Shipped: Tracking notification
↓
Delivered: Review request
↓
Day 30: Replenishment reminder
Win-Back
| Segment | Timing | Offer |
|---|---|---|
| 30 days no purchase | Day 30 | 10% off |
| 60 days | Day 60 | 15% off |
| 90 days | Day 90 | 20% off |
Campaign Strategy
Flash Sales
Best for SMS:
- Limited time (2-4 hours)
- Exclusive to SMS subscribers
- Strong call-to-action
- Clear end time
Example: “⚡ 2HR FLASH SALE ⚡ 30% off everything. Ends at 3PM ET. Shop: [link] Reply STOP to unsubscribe”
New Product Launches
SMS-first announcements:
- Notify before email
- Early access for SMS subscribers
- Create exclusivity
- Include product image
VIP Access
Segment high-value customers:
- Early sale access
- Exclusive products
- Special discounts
- Priority support
Two-Way Conversations
How It Works
Customers can:
- Reply with questions
- Ask about orders
- Request support
- Respond to campaigns
AI Responses
Postscript AI handles:
- Order status inquiries
- Tracking questions
- Basic FAQs
- Routing to human when needed
Manual Inbox
Staff can:
- View all conversations
- Reply personally
- Tag and organize
- Assign to team members
Response Templates
Create quick replies:
- Order status
- Shipping information
- Return policy
- Product questions
Segmentation
Shopify Data Segments
| Segment | Criteria |
|---|---|
| High-value | Spent $500+ |
| New customers | First order in 30 days |
| Repeat buyers | 2+ orders |
| At-risk | 60+ days no order |
| Product buyers | Purchased specific item |
Engagement Segments
| Segment | Criteria |
|---|---|
| Highly engaged | Clicked 3+ times |
| Engaged | Clicked 1-2 times |
| Passive | Opens only |
| Inactive | No opens 30+ days |
Campaign Targeting
Target campaigns by:
- Purchase history
- Product categories
- Order value
- Engagement level
- Custom properties
Compliance
TCPA Requirements
Must include:
- Business name
- Opt-out instructions
- Message frequency
- Terms link
Quiet Hours
Default: 9pm-9am local time
- Respects recipient timezone
- Messages queue for morning
- Configurable per campaign
Consent Management
Postscript tracks:
- Opt-in timestamp
- Opt-in method
- Consent type
- Opt-out handling
Best Practices
- Clear opt-in language
- Honor STOP immediately
- Respect frequency
- Valuable content only
Analytics
Key Metrics
| Metric | Benchmark |
|---|---|
| Click rate | 30-45% |
| Conversion rate | 10-25% |
| Revenue per recipient | $0.50-2.00 |
| Unsubscribe rate | <2% |
Attribution
Postscript tracks:
- SMS-attributed revenue
- Click-to-purchase time
- Campaign performance
- Automation ROI
Reports
Available dashboards:
- Revenue overview
- Subscriber growth
- Campaign performance
- Automation metrics
Integrations
Ecommerce
| Platform | Integration |
|---|---|
| Shopify | Native (deep) |
| Recharge | Subscription support |
| Skio | Subscription SMS |
| Loop | Returns notifications |
Marketing
| Platform | Integration |
|---|---|
| Klaviyo | Segment sync |
| Gorgias | Support tickets |
| Yotpo | Review requests |
| Privy | List building |
Best Practices
Message Content
| Do | Don’t |
|---|---|
| Keep under 160 chars | Write long messages |
| One clear CTA | Multiple links |
| Personalize | Generic blasts |
| Add value | Over-promote |
Frequency
| Segment | Max Frequency |
|---|---|
| All subscribers | 4-6/month |
| Engaged | 8-10/month |
| VIP | 10-12/month |
Timing
| Day | Best Time |
|---|---|
| Tuesday | 10am-12pm |
| Wednesday | 2pm-4pm |
| Thursday | 10am-12pm |
| Friday | 12pm-2pm |
Troubleshooting
Low Delivery Rate
Causes:
- Invalid numbers
- Carrier filtering
- Compliance issues
Solutions:
- Clean subscriber list
- Review message content
- Check compliance settings
Low Click Rate
Causes:
- Poor offer
- Bad timing
- Wrong segment
Solutions:
- Improve offer value
- Test send times
- Refine segmentation
Postscript vs Alternatives
| Feature | Postscript | Klaviyo SMS | Attentive |
|---|---|---|---|
| Focus | SMS-only | Email + SMS | SMS |
| Two-way | Excellent | Basic | Good |
| AI responses | Yes | No | Yes |
| Pricing | Pay-per-message | Included | Enterprise |
| Best for | SMS-first | Unified platform | Enterprise |
Next Steps
After setup:
- Set up collection - Checkout + popups
- Create automations - Welcome + cart abandon
- Build segments - Shopify data
- Launch campaign - Test with small segment
- Analyze & optimize - Track performance
Shopify + Postscript implementation checklist (2025)
This section adds practical “make it stable” steps you can use after you install the app/connector. It’s intentionally lightweight: the goal is fewer sync surprises, cleaner reporting, and easier troubleshooting.
1) Quick setup checklist
- Permissions first: grant only the scopes you need (orders/customers/products as required) and document who owns the admin credentials.
- Data mapping: confirm how email, phone, currency, and SKU are mapped between Shopify and Postscript.
- Historical import: decide how far back to import orders/customers (avoid importing years of data if you don’t need it).
- Deduplication rules: pick one unique identifier per object (usually email for customers, order ID for orders) to prevent doubles.
- Alerts: set a lightweight alert path (email/Slack) for failed syncs, auth expiry, and API rate limits.
2) Data you should verify after connecting
Most integration issues show up in the first hour if you test the right things. Use the table below as a QA checklist (create a test order if needed).
| Data object | What to check | Why it matters |
|---|---|---|
| Customers | Email/phone format, marketing consent fields, duplicates | Prevents double messaging and broken segmentation |
| Orders | Order total, tax, discount, shipping, currency | Keeps revenue reporting and automation triggers accurate |
| Line items | SKU, variant ID, quantity, refunds/returns behavior | Avoids inventory and attribution mismatches |
| Fulfillment | Status changes + timestamps, tracking numbers, carrier fields | Drives customer notifications and post-purchase flows |
| Catalog | Product titles, handles, images, collections/tags | Ensures personalization and reporting match your storefront |
3) Automation ideas for Marketing
- Welcome series: new subscriber → educational sequence + first-purchase offer in Postscript.
- Abandoned cart: cart started but not purchased → reminder email/SMS from Postscript (timing based on your AOV).
- Post-purchase: order created → delivery/usage tips + cross-sell for complementary products in Postscript.
- Win-back: no purchase in 60–90 days → reactivation campaign using Postscript segments.
- VIP: customer hits LTV threshold → move into VIP tier and trigger perks via Postscript.
API sanity check (Shopify Admin API)
If your integration UI says “connected” but data isn’t flowing, a quick API call helps confirm whether the store is accessible and returning the objects you expect.
# List the 5 most recent orders (GraphQL)
curl -X POST "https://your-store.myshopify.com/admin/api/2025-01/graphql.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"query\":\"{ orders(first: 5, sortKey: CREATED_AT, reverse: true) { edges { node { id name createdAt totalPriceSet { shopMoney { amount currencyCode } } customer { email } } } } }\"}"Tip: keep tokens/keys in environment variables, and test in a staging store/site before rolling changes to production.
4) KPIs to monitor (so you catch problems early)
- Sync freshness: how long it takes for a new order/customer event to appear in Postscript.
- Error rate: failed syncs per day (and which object types fail most).
- Duplicates: number of merged/duplicate contacts or orders created by mapping mistakes.
- Revenue parity: weekly spot-check that Shopify totals match downstream reporting (especially after refunds).
- Attribution sanity: confirm that key events (purchase, refund, subscription) are tracked consistently.
5) A simple 30-day optimization plan
- Week 1: connect + map fields, then validate with 5–10 real orders/customers.
- Week 2: enable 1–2 automations and measure baseline KPIs (conversion, AOV, repeat rate).
- Week 3: tighten segmentation/rules (exclude recent buyers, add VIP thresholds, handle edge cases).
- Week 4: document the setup, create an “owner” checklist, and set a recurring monthly audit.
For unified email+SMS, see Klaviyo SMS integration. For popups, check Privy integration.