{"id":1398,"date":"2022-12-05T20:50:35","date_gmt":"2022-12-05T20:50:35","guid":{"rendered":"https:\/\/docs.symphosize.com\/responsibid\/?post_type=article&#038;p=1398"},"modified":"2026-02-27T14:36:39","modified_gmt":"2026-02-27T14:36:39","slug":"twilio-campaign-registry","status":"publish","type":"article","link":"https:\/\/docs.symphosize.com\/?article=twilio-campaign-registry","title":{"rendered":"Twilio Campaign Registry"},"content":{"rendered":"<style>\n:root {\n  --brand: #2563eb;\n  --brand-dark: #1e40af;\n  --accent: #f59e0b;\n  --success: #16a34a;\n  --danger: #dc2626;\n  --bg: #ffffff;\n  --bg-muted: #f8fafc;\n  --bg-card: #f1f5f9;\n  --border: #e2e8f0;\n  --text: #1e293b;\n  --text-muted: #64748b;\n  --text-light: #94a3b8;\n  --radius: 10px;\n}\n.rb-doc .page-meta {\n  font-size: 0.82rem;\n  color: var(--text-light);\n  margin-bottom: 2rem;\n  padding-bottom: 1.5rem;\n  border-bottom: 1px solid var(--border);\n}\n.rb-doc h2 {\n  font-size: 1.5rem;\n  font-weight: 700;\n  margin: 2.5rem 0 1rem;\n  padding-top: 1rem;\n  color: var(--text);\n  border-top: 1px solid var(--border);\n}\n.rb-doc h3 {\n  font-size: 1.15rem;\n  font-weight: 600;\n  margin: 2rem 0 0.75rem;\n  color: var(--text);\n}\n.rb-doc p { margin-bottom: 1rem; line-height: 1.7; }\n.rb-doc a { color: var(--brand); }\n.rb-doc a:hover { color: var(--brand-dark); }\n.rb-toc {\n  background: var(--bg-card);\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  padding: 1.25rem 1.5rem;\n  margin: 0 0 2rem 0;\n}\n.rb-toc-title {\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  color: var(--text-light);\n  margin-bottom: 0.75rem;\n}\n.rb-toc-columns {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0 2.5rem;\n}\n.rb-toc-col {\n  flex: 1;\n  min-width: 200px;\n}\n.rb-toc a {\n  display: block;\n  padding: 0.2rem 0;\n  color: var(--text-muted);\n  text-decoration: none;\n  font-size: 0.85rem;\n  line-height: 1.5;\n}\n.rb-toc a:hover { color: var(--brand); }\n.rb-toc a.rb-toc-indent { padding-left: 1rem; font-size: 0.8rem; }\n.callout {\n  padding: 1.25rem 1.5rem;\n  border-radius: var(--radius);\n  margin: 1.5rem 0;\n  font-size: 0.92rem;\n  line-height: 1.65;\n}\n.callout-title {\n  font-weight: 700;\n  font-size: 0.82rem;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  margin-bottom: 0.5rem;\n}\n.callout-info {\n  background: #eff6ff;\n  border-left: 4px solid var(--brand);\n}\n.callout-info .callout-title { color: var(--brand); }\n.callout-warning {\n  background: #fffbeb;\n  border-left: 4px solid var(--accent);\n}\n.callout-warning .callout-title { color: #b45309; }\n.callout-success {\n  background: #f0fdf4;\n  border-left: 4px solid var(--success);\n}\n.callout-success .callout-title { color: var(--success); }\n.callout-danger {\n  background: #fef2f2;\n  border-left: 4px solid var(--danger);\n}\n.callout-danger .callout-title { color: var(--danger); }\n.steps { counter-reset: step-counter; margin: 1.5rem 0; }\n.step {\n  position: relative;\n  padding: 1.25rem 1.5rem 1.25rem 4rem;\n  background: var(--bg);\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  margin-bottom: 0.75rem;\n  counter-increment: step-counter;\n}\n.step::before {\n  content: counter(step-counter);\n  position: absolute;\n  left: 1.25rem;\n  top: 1.25rem;\n  width: 28px;\n  height: 28px;\n  background: var(--brand);\n  color: #fff;\n  border-radius: 50%;\n  font-size: 0.82rem;\n  font-weight: 700;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.step-title { font-weight: 600; margin-bottom: 0.35rem; }\n.step p { margin-bottom: 0.5rem; font-size: 0.92rem; }\n.step p:last-child { margin-bottom: 0; }\n.example-block {\n  background: var(--bg);\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  overflow: hidden;\n  margin: 1.25rem 0;\n}\n.example-block-header {\n  background: var(--bg-card);\n  padding: 0.6rem 1.25rem;\n  font-size: 0.78rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  color: var(--text-muted);\n  border-bottom: 1px solid var(--border);\n}\n.example-block-body {\n  padding: 1.25rem;\n  font-size: 0.9rem;\n  line-height: 1.7;\n  color: var(--text);\n  white-space: pre-wrap;\n}\n.code-inline {\n  font-family: 'JetBrains Mono', monospace;\n  background: var(--bg-card);\n  padding: 0.15em 0.45em;\n  border-radius: 4px;\n  font-size: 0.88em;\n}\n.html-preview {\n  background: var(--bg);\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  overflow: hidden;\n  margin: 1.25rem 0;\n}\n.html-preview-header {\n  background: var(--bg-card);\n  padding: 0.6rem 1.25rem;\n  font-size: 0.78rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  color: var(--text-muted);\n  border-bottom: 1px solid var(--border);\n}\n.html-preview-body {\n  padding: 1.5rem;\n}\n.html-preview-body .opt-in-demo {\n  max-width: 420px;\n  font-family: -apple-system, BlinkMacSystemFont, sans-serif;\n}\n.html-preview-body .opt-in-demo label {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.6rem;\n  cursor: pointer;\n}\n.html-preview-body .opt-in-demo input[type=\"checkbox\"] {\n  margin-top: 3px;\n  width: 18px;\n  height: 18px;\n  accent-color: var(--brand);\n  flex-shrink: 0;\n}\n.html-preview-body .opt-in-demo .consent-text {\n  font-size: 12px;\n  color: #666;\n  line-height: 1.55;\n}\n.html-preview-body .opt-in-demo .consent-text strong {\n  color: #333;\n}\n.html-preview-body .opt-in-demo .consent-text a {\n  color: var(--brand);\n  text-decoration: underline;\n}\n.checklist {\n  list-style: none;\n  margin: 1.25rem 0;\n  padding-left: 0;\n}\n.checklist li {\n  position: relative;\n  padding: 0.5rem 0 0.5rem 2rem;\n  font-size: 0.92rem;\n}\n.checklist li::before {\n  content: \"\\2610\";\n  position: absolute;\n  left: 0;\n  font-size: 1.1rem;\n}\n.comparison-table {\n  width: 100%;\n  border-collapse: collapse;\n  margin: 1.25rem 0;\n  font-size: 0.88rem;\n}\n.comparison-table th,\n.comparison-table td {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  border: 1px solid var(--border);\n}\n.comparison-table th {\n  background: var(--bg-card);\n  font-weight: 600;\n  font-size: 0.82rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03em;\n  color: var(--text-muted);\n}\n.comparison-table td { background: var(--bg); }\n<\/style>\n<div class=\"rb-doc\">\n<div class=\"page-meta\">Updated February 2026 &middot; ~10 min read &middot; SMS<\/div>\n<div class=\"rb-toc\">\n<div class=\"rb-toc-title\">On This Page<\/div>\n<div class=\"rb-toc-columns\">\n<div class=\"rb-toc-col\">\n<a href=\"#overview\">Overview<\/a><br \/>\n<a href=\"#before-you-start\">Before You Start<\/a><br \/>\n<a href=\"#step-1\">Step 1: Register Your Business<\/a><br \/>\n<a href=\"#step-2\">Step 2: Register Your Brand<\/a><br \/>\n<a href=\"#step-3\">Step 3: Register Your Campaign<\/a><br \/>\n<a class=\"rb-toc-indent\" href=\"#campaign-use-case\">Choosing a Use Case<\/a><br \/>\n<a class=\"rb-toc-indent\" href=\"#campaign-description\">Campaign Description<\/a>\n<\/div>\n<div class=\"rb-toc-col\">\n<a class=\"rb-toc-indent\" href=\"#sample-messages\">Sample Messages<\/a><br \/>\n<a class=\"rb-toc-indent\" href=\"#message-flow\">Message Flow \/ Call to Action<\/a><br \/>\n<a href=\"#opt-in-setup\">Setting Up Your Opt-In<\/a><br \/>\n<a href=\"#privacy-policy\">Privacy Policy &amp; SMS Terms<\/a><br \/>\n<a href=\"#common-rejections\">Why Campaigns Get Rejected<\/a><br \/>\n<a href=\"#checklist\">Pre-Submission Checklist<\/a><br \/>\n<a href=\"#helpful-links\">Helpful Links<\/a>\n<\/div>\n<\/div>\n<\/div>\n<section id=\"overview\">\n<p>If you use Twilio for sending SMS messages through ResponsiBid, you are required to register an <strong>A2P 10DLC campaign<\/strong> before your texts can be delivered to U.S. phone numbers. This is a wireless carrier requirement \u2014 not a ResponsiBid requirement \u2014 and it applies to all businesses sending text messages through any provider.<\/p>\n<p>This guide walks you through every step of the process in plain English. No technical skills required. You will register your business, set up your campaign, write your opt-in language, and get your SMS flowing \u2014 all in one sitting.<\/p>\n<div class=\"callout callout-info\">\n<div class=\"callout-title\">What is A2P 10DLC?<\/div>\n<p><strong>A2P<\/strong> stands for &#8220;Application-to-Person&#8221; \u2014 meaning texts sent from software (like ResponsiBid) to a person&#8217;s phone. <strong>10DLC<\/strong> stands for &#8220;10-Digit Long Code&#8221; \u2014 a standard phone number with an area code like (555) 123-4567. Registering your campaign tells the wireless carriers <em>who you are<\/em> and <em>what you&#8217;re texting about<\/em>, so they don&#8217;t flag your messages as spam.\n<\/div>\n<\/section>\n<section id=\"before-you-start\">\n<h2>Before You Start<\/h2>\n<p>Gather the following items before you begin. Having these ready will save you time and help you avoid rejections.<\/p>\n<table class=\"comparison-table\">\n<thead>\n<tr>\n<th>Item<\/th>\n<th>Details<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Twilio Account<\/strong><\/td>\n<td>A paid (upgraded) Twilio account. Trial accounts cannot register. <a href=\"https:\/\/www.twilio.com\/login\" target=\"_blank\" rel=\"noopener\">Log in here \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>EIN \/ Tax ID<\/strong><\/td>\n<td>Your U.S. Employer Identification Number (EIN) or Canadian Business Number. If you don&#8217;t have one, you&#8217;ll register as a <em>Sole Proprietor<\/em> instead (see note below).<\/td>\n<\/tr>\n<tr>\n<td><strong>Business Website URL<\/strong><\/td>\n<td>The website where you have ResponsiBid installed and where customers request quotes.<\/td>\n<\/tr>\n<tr>\n<td><strong>Privacy Policy URL<\/strong><\/td>\n<td>A publicly accessible privacy policy page on your website. Must include language about SMS data. <a href=\"#privacy-policy\">See requirements below \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>SMS Terms URL<\/strong><\/td>\n<td>A publicly accessible SMS\/texting terms page. Can be a standalone page or a section within your privacy policy.<\/td>\n<\/tr>\n<tr>\n<td><strong>A Twilio Phone Number<\/strong><\/td>\n<td>A U.S. 10DLC number purchased in your Twilio account. <a href=\"https:\/\/www.twilio.com\/console\/phone-numbers\/search\" target=\"_blank\" rel=\"noopener\">Buy a number here \u2192<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"callout callout-warning\">\n<div class=\"callout-title\">No EIN? No Problem.<\/div>\n<p>If you&#8217;re a sole proprietor or small business without a Tax ID, Twilio has a <strong>Sole Proprietor<\/strong> registration path. It has slightly lower sending limits, but works perfectly fine for most service businesses. <a href=\"https:\/\/www.twilio.com\/docs\/messaging\/compliance\/a2p-10dlc\/direct-sole-proprietor-registration-overview\" target=\"_blank\" rel=\"noopener\">See Twilio&#8217;s Sole Proprietor guide \u2192<\/a>\n<\/div>\n<\/section>\n<section id=\"step-1\">\n<h2>Step 1: Create Your Customer Profile (Trust Hub)<\/h2>\n<p>Your Customer Profile tells Twilio and the carriers who you are. Think of it like verifying your business identity.<\/p>\n<div class=\"steps\">\n<div class=\"step\">\n<div class=\"step-title\">Go to the Twilio Trust Hub<\/div>\n<p>Log in to Twilio and navigate to <a href=\"https:\/\/www.twilio.com\/console\/trust-hub\" target=\"_blank\" rel=\"noopener\">Console \u2192 Trust Hub<\/a>, or click <strong>Messaging \u2192 Trust Hub \u2192 Customer Profiles<\/strong> in the left sidebar.<\/p>\n<\/div>\n<div class=\"step\">\n<div class=\"step-title\">Start a New Customer Profile<\/div>\n<p>Click <strong>&#8220;Create new Customer Profile&#8221;<\/strong> and select your entity type. Most ResponsiBid users will choose <em>Direct Customer<\/em> (you are the business sending messages, not a reseller).<\/p>\n<\/div>\n<div class=\"step\">\n<div class=\"step-title\">Fill In Your Business Details<\/div>\n<p>Enter your legal business name, address, and contact information <strong>exactly as they appear on your tax filings<\/strong>. Mismatched information is a common reason for rejection.<\/p>\n<\/div>\n<div class=\"step\">\n<div class=\"step-title\">Submit for Review<\/div>\n<p>Click <strong>&#8220;Submit for review.&#8221;<\/strong> This is typically approved within minutes.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"step-2\">\n<h2>Step 2: Register Your Brand<\/h2>\n<p>Your &#8220;Brand&#8221; is your business identity within the A2P system. Once your Customer Profile is approved, you can register your Brand.<\/p>\n<div class=\"steps\">\n<div class=\"step\">\n<div class=\"step-title\">Navigate to Brand Registration<\/div>\n<p>Go to <a href=\"https:\/\/www.twilio.com\/console\/messaging\/compliance\/a2p\" target=\"_blank\" rel=\"noopener\">Console \u2192 Messaging \u2192 Compliance \u2192 A2P 10DLC<\/a>. Click <strong>&#8220;Register Brand&#8221;<\/strong>.<\/p>\n<\/div>\n<div class=\"step\">\n<div class=\"step-title\">Choose Your Brand Type<\/div>\n<p><strong>Low-Volume Standard<\/strong> is the right choice for most pressure washing companies. It costs $4 one-time and is designed for businesses sending fewer than 6,000 messages per day (plenty for most companies).<\/p>\n<\/div>\n<div class=\"step\">\n<div class=\"step-title\">Enter Your Details &amp; Submit<\/div>\n<p>Fill in the required fields and submit. Brand approval usually happens within a few minutes. You&#8217;ll get an email when approved.<\/p>\n<\/div>\n<\/div>\n<div class=\"callout callout-info\">\n<div class=\"callout-title\">Heads Up \u2014 Costs<\/div>\n<p>Brand registration is a one-time fee. Campaign registration adds a one-time $15 vetting fee plus a small monthly fee ($1.50\u2013$10 depending on the use case). These are Twilio fees, not ResponsiBid fees.\n<\/p><\/div>\n<\/section>\n<section id=\"step-3\">\n<h2>Step 3: Register Your Campaign<\/h2>\n<p>This is the most important (and most commonly rejected) step. Your campaign tells the carriers <em>what<\/em> you&#8217;re texting about, <em>how<\/em> people opted in, and <em>what your messages look like<\/em>. Take your time here.<\/p>\n<p>Navigate to <a href=\"https:\/\/www.twilio.com\/console\/messaging\/compliance\/a2p\" target=\"_blank\" rel=\"noopener\">Console \u2192 Messaging \u2192 Compliance \u2192 A2P 10DLC<\/a> and click <strong>&#8220;Register Campaign&#8221;<\/strong>.<\/p>\n<h3 id=\"campaign-use-case\">Choosing a Campaign Use Case<\/h3>\n<p>You&#8217;ll be asked to select a &#8220;Campaign Use Case&#8221; from a dropdown. For most ResponsiBid users, the best options are:<\/p>\n<table class=\"comparison-table\">\n<thead>\n<tr>\n<th>Use Case<\/th>\n<th>Best For<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Customer Care<\/strong><\/td>\n<td>You&#8217;re sending texts related to quotes, scheduling, and service follow-ups. This is the most common choice for pressure washing companies using ResponsiBid.<\/td>\n<\/tr>\n<tr>\n<td><strong>Low Volume Mixed<\/strong><\/td>\n<td>You send a mix of message types (appointment reminders, follow-ups, promotions) and send fewer than 6,000 messages per day. Offers flexibility.<\/td>\n<\/tr>\n<tr>\n<td><strong>Marketing<\/strong><\/td>\n<td>Only choose this if you&#8217;re primarily sending promotional messages or marketing blasts. This has stricter opt-in requirements (written consent required).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"callout callout-success\">\n<div class=\"callout-title\">Our Recommendation<\/div>\n<p>For most ResponsiBid customers, <strong>Customer Care<\/strong> or <strong>Low Volume Mixed<\/strong> is the safest and most flexible choice. Choose whichever best describes how you use text messaging in your pressure washing business.\n<\/div>\n<h3 id=\"campaign-description\">Writing Your Campaign Description<\/h3>\n<p>This is a short explanation of <em>why<\/em> your business sends text messages. Keep it simple and honest. Here are some examples you can customize:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Example \u2014 Pressure Washing Company<\/div>\n<div class=\"example-block-body\">We send SMS messages to homeowners and property managers who have requested a pressure washing quote or booked a service through our website. Messages include quote notifications, appointment confirmations, scheduling reminders, and post-service follow-ups. Customers opt in when submitting a quote request on our website.<\/div>\n<\/div>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Example \u2014 Residential Pressure Washing<\/div>\n<div class=\"example-block-body\">We use text messaging to communicate with homeowners who have requested pressure washing estimates through our online form. Messages include estimate delivery notifications, appointment scheduling updates, and service completion follow-ups.<\/div>\n<\/div>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Example \u2014 Commercial Pressure Washing<\/div>\n<div class=\"example-block-body\">We send service-related SMS messages to property owners and managers who request pressure washing quotes through our website. Messages include quote notifications, appointment reminders, scheduling confirmations, and post-service follow-up communications. All recipients have opted in through our online quote request form.<\/div>\n<\/div>\n<h3 id=\"sample-messages\">Writing Your Sample Messages<\/h3>\n<p>Twilio asks for 2\u20133 example text messages that you actually send (or plan to send). Use real messages from your ResponsiBid Follow-Up Builder sequences. The key rules are: include your business name, keep them realistic, and include opt-out language (<strong>Reply STOP to opt out<\/strong>) in at least one sample.<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Sample Message #1 \u2014 Quote Follow-Up<\/div>\n<div class=\"example-block-body\">Hi {FirstName}, thanks for requesting a pressure washing quote from {YourBusinessName}! We&#8217;ve sent your estimate to your email. Check it out and let us know if you have any questions. Reply STOP to opt out.<\/div>\n<\/div>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Sample Message #2 \u2014 Appointment Reminder<\/div>\n<div class=\"example-block-body\">Reminder: Your appointment with {YourBusinessName} is scheduled for tomorrow at {Time}. We look forward to seeing you! Reply STOP to unsubscribe.<\/div>\n<\/div>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Sample Message #3 \u2014 Post-Service Follow-Up<\/div>\n<div class=\"example-block-body\">Thanks for choosing {YourBusinessName}! We hope everything looks great after your pressure wash. If you have a moment, we&#8217;d love a review. Simply reply to this message with any feedback. Reply STOP to opt out of future texts.<\/div>\n<\/div>\n<div class=\"callout callout-warning\">\n<div class=\"callout-title\">Important<\/div>\n<p>Your sample messages should closely match the description you gave for your campaign. If you said the campaign is for &#8220;customer care,&#8221; don&#8217;t include a promotional sample about a 20% off sale \u2014 that&#8217;s a mismatch and will get flagged.\n<\/p><\/div>\n<h3 id=\"message-flow\">Writing the Message Flow \/ Call to Action (CTA)<\/h3>\n<p>This is <strong>the #1 reason campaigns get rejected<\/strong>, so pay special attention here.<\/p>\n<p>The &#8220;Message Flow&#8221; (also called &#8220;Call to Action&#8221; or &#8220;How do end-users consent to receive messages?&#8221;) is where you describe, in your own words, <em>exactly how a customer gives you permission to text them<\/em>. A human reviewer at Twilio reads this to verify that your customers actually opt in to receiving SMS messages.<\/p>\n<p>Your Message Flow must include all of the following:<\/p>\n<ul class=\"checklist\">\n<li><strong>How customers opt in<\/strong> \u2014 the specific action they take (checking a box, submitting a form, etc.)<\/li>\n<li><strong>Where it happens<\/strong> \u2014 a publicly accessible URL the reviewer can visit to verify<\/li>\n<li><strong>Your business name<\/strong> \u2014 so the reviewer knows which brand is sending messages<\/li>\n<li><strong>Message frequency<\/strong> \u2014 how often customers might receive texts<\/li>\n<li><strong>&#8220;Message and data rates may apply&#8221;<\/strong> \u2014 this exact disclosure (or close to it)<\/li>\n<li><strong>Opt-out instructions<\/strong> \u2014 how to stop receiving messages (Reply STOP)<\/li>\n<li><strong>Links to your Privacy Policy and SMS Terms<\/strong> \u2014 publicly accessible URLs<\/li>\n<\/ul>\n<p>Here are complete examples you can customize and paste directly into the Twilio registration form:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Example Message Flow \u2014 Recommended Template<\/div>\n<div class=\"example-block-body\">Customers visit our website at https:\/\/www.yourbusinesswebsite.com and request a pressure washing quote by filling out our online form. During the form submission, customers provide their mobile phone number and are presented with an SMS consent checkbox (not pre-selected). The consent text reads: &#8220;By selecting yes, I agree to receive service-related SMS messages from [Your Business Name] regarding my quote and scheduling at the mobile number provided. Msg &amp; data rates may apply. Reply STOP to cancel, HELP for help. Consent is not required to purchase services.&#8221;<\/p>\n<p>Customers who check the box and submit the form are opted in to receive service-related text messages including quote notifications, appointment reminders, and follow-up communications. Customers may receive approximately 2\u20135 messages per service request.<\/p>\n<p>Customers can opt out at any time by replying STOP to any message. Our privacy policy is available at https:\/\/www.yourbusinesswebsite.com\/privacy-policy and our SMS terms are at https:\/\/www.yourbusinesswebsite.com\/sms-terms.<\/p><\/div>\n<\/div>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Example Message Flow \u2014 Shorter Version<\/div>\n<div class=\"example-block-body\">Customers opt in to SMS messages by checking a consent checkbox on our online pressure washing quote request form at https:\/\/www.yourbusinesswebsite.com. The checkbox is not pre-selected. The opt-in language identifies our business name, states message and data rates may apply, discloses message frequency, and provides opt-out instructions (Reply STOP). Consent is not required to purchase services. Privacy policy: https:\/\/www.yourbusinesswebsite.com\/privacy-policy | SMS terms: https:\/\/www.yourbusinesswebsite.com\/sms-terms<\/div>\n<\/div>\n<div class=\"callout callout-danger\">\n<div class=\"callout-title\">Critical \u2014 The Reviewer Must Be Able to See Your Opt-In<\/div>\n<p>The person reviewing your campaign will visit your website to verify that the opt-in checkbox and consent language actually exist. If your form is behind a login, requires payment, or is otherwise not publicly accessible, you must provide a direct URL to a hosted screenshot showing the opt-in. You can upload a screenshot image to a public URL (like an S3 bucket or your website&#8217;s media library) and include that link in your Message Flow.\n<\/p><\/div>\n<\/section>\n<section id=\"opt-in-setup\">\n<h2>Setting Up Your Opt-In in ResponsiBid<\/h2>\n<p>ResponsiBid&#8217;s customer-facing quote request form includes an opt-in toggle (a yes\/no checkbox) that asks your customers if they&#8217;d like to receive SMS messages. You need to make sure this toggle includes the proper consent language.<\/p>\n<h3 id=\"opt-in-text\">The Opt-In Consent Text<\/h3>\n<p>Here is the recommended consent text to display next to or below the SMS opt-in checkbox on your ResponsiBid form. Customize the <strong>bold<\/strong> parts for your business:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Recommended Opt-In Consent Text<\/div>\n<div class=\"example-block-body\">By selecting yes, I agree to receive service-related SMS messages from <strong>[Your Business Name]<\/strong> regarding my quote and scheduling at the mobile number provided. Msg &amp; data rates may apply. Reply STOP to cancel, HELP for help. Consent is not required to purchase services. <a href=\"#\">Privacy Policy<\/a> | <a href=\"#\">SMS Terms<\/a><\/div>\n<\/div>\n<p>This language covers every required disclosure: your business name, what the messages are about, the data rates disclaimer, how to opt out, and links to your policies.<\/p>\n<h3 id=\"opt-in-html\">HTML for Your Form<\/h3>\n<p>If you need the HTML version of this consent language (for example, to paste into a custom form field), here it is. Replace the placeholder URLs with your actual policy page links:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">HTML \u2014 Copy &amp; Paste Ready<\/div>\n<div class=\"example-block-body\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">By selecting yes, I agree to receive service-related SMS messages from &lt;strong&gt;Your Business Name&lt;\/strong&gt; regarding my quote and scheduling at the mobile number provided. Msg &amp;amp; data rates may apply. Reply &lt;strong&gt;STOP&lt;\/strong&gt; to cancel, &lt;strong&gt;HELP&lt;\/strong&gt; for help. Consent is not required to purchase services. &lt;a href='https:\/\/yourdomain.com\/privacy-policy' target='_blank'&gt;Privacy Policy&lt;\/a&gt; | &lt;a href='https:\/\/yourdomain.com\/sms-terms' target='_blank'&gt;SMS Terms&lt;\/a&gt;<\/pre>\n<\/div>\n<\/div>\n<p>And here&#8217;s what it looks like rendered on a form:<\/p>\n<div class=\"html-preview\">\n<div class=\"html-preview-header\">Preview \u2014 How Customers See It<\/div>\n<div class=\"html-preview-body\">\n<div class=\"opt-in-demo\">\n<label><br \/>\n<input type=\"checkbox\" \/><br \/>\n<span class=\"consent-text\">By selecting yes, I agree to receive service-related SMS messages from <strong>Your Pressure Washing<\/strong> regarding my quote and scheduling at the mobile number provided. Msg &amp; data rates may apply. Reply <strong>STOP<\/strong> to cancel, <strong>HELP<\/strong> for help. Consent is not required to purchase services. <a href=\"#\">Privacy Policy<\/a> | <a href=\"#\">SMS Terms<\/a><\/span><br \/>\n<\/label>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"privacy-policy\">\n<h2>Privacy Policy &amp; SMS Terms Pages<\/h2>\n<p>You must have two publicly accessible pages on your website (or one combined page) that Twilio&#8217;s reviewer can visit:<\/p>\n<h3>Privacy Policy<\/h3>\n<p>Your privacy policy must include, at minimum, a statement that your business does <strong>not<\/strong> sell or share mobile phone numbers or SMS opt-in data with third parties for marketing purposes. Example language:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">Privacy Policy \u2014 Required SMS Language<\/div>\n<div class=\"example-block-body\">[Your Business Name] respects your privacy. We do not sell, rent, or share your personal information, including your mobile phone number, with third parties or affiliates for marketing or promotional purposes. Any mobile information collected as part of our SMS messaging program will be used solely to provide the pressure washing services you requested.<\/div>\n<\/div>\n<h3>SMS Terms<\/h3>\n<p>Your SMS terms page should outline the basics of your texting program. Here&#8217;s a template:<\/p>\n<div class=\"example-block\">\n<div class=\"example-block-header\">SMS Terms \u2014 Template<\/div>\n<div class=\"example-block-body\"><strong>[Your Business Name] SMS Terms of Service<\/strong><\/p>\n<p>By opting in to SMS messages from [Your Business Name], you agree to receive service-related text messages at the mobile number you provided. These messages may include pressure washing quote notifications, appointment reminders, scheduling updates, and service follow-ups.<\/p>\n<p><strong>Message Frequency:<\/strong> Message frequency varies. You may receive approximately 2\u20135 messages per service request.<\/p>\n<p><strong>Message &amp; Data Rates:<\/strong> Message and data rates may apply. Check with your mobile carrier for details.<\/p>\n<p><strong>Opt-Out:<\/strong> You can opt out at any time by replying STOP to any message. After opting out, you will receive a one-time confirmation message and no further texts.<\/p>\n<p><strong>Help:<\/strong> Reply HELP to any message for assistance, or contact us at [your email or phone number].<\/p>\n<p><strong>Privacy:<\/strong> Your privacy is important to us. We do not sell or share your mobile number or opt-in information with third parties for marketing purposes. View our full privacy policy at [your privacy policy URL].<\/p>\n<p><strong>Carriers Supported:<\/strong> Service is available on all major U.S. carriers. Carriers are not liable for delayed or undelivered messages.<\/p>\n<p><strong>Contact:<\/strong> For questions about our SMS program, contact us at [your email or phone number].<\/div>\n<\/div>\n<div class=\"callout callout-info\">\n<div class=\"callout-title\">Where to Put These Pages<\/div>\n<p>Most pressure washing companies add these as simple pages on their existing website (e.g., <span class=\"code-inline\">yourdomain.com\/privacy-policy<\/span> and <span class=\"code-inline\">yourdomain.com\/sms-terms<\/span>). They don&#8217;t need to be fancy \u2014 they just need to be publicly visible so the reviewer can access them.\n<\/div>\n<\/section>\n<section id=\"common-rejections\">\n<h2>Common Reasons Campaigns Get Rejected (and How to Fix Them)<\/h2>\n<table class=\"comparison-table\">\n<thead>\n<tr>\n<th style=\"width: 40%;\">Rejection Reason<\/th>\n<th>How to Fix It<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Message Flow \/ CTA is incomplete<\/strong><\/td>\n<td>Rewrite your Message Flow to include all required elements: how customers opt in, where it happens (with a URL), your business name, message frequency, &#8220;message and data rates may apply,&#8221; opt-out instructions, and links to your privacy policy and SMS terms. Use the <a href=\"#message-flow\">templates above<\/a>.<\/td>\n<\/tr>\n<tr>\n<td><strong>Reviewer can&#8217;t verify opt-in<\/strong><\/td>\n<td>Make sure the page with your opt-in checkbox is publicly accessible (not behind a login). If it&#8217;s not public, upload a screenshot to a public URL and include the link in your Message Flow.<\/td>\n<\/tr>\n<tr>\n<td><strong>No privacy policy found<\/strong><\/td>\n<td>Add a privacy policy page to your website with the <a href=\"#privacy-policy\">required SMS language<\/a>. Make sure the URL you provide actually works and isn&#8217;t a 404 page.<\/td>\n<\/tr>\n<tr>\n<td><strong>Sample messages don&#8217;t match the use case<\/strong><\/td>\n<td>If you registered as &#8220;Customer Care,&#8221; make sure your sample messages are about customer service (quotes, appointments, follow-ups) \u2014 not marketing promotions like &#8220;20% off your next driveway cleaning.&#8221;<\/td>\n<\/tr>\n<tr>\n<td><strong>Business information mismatch<\/strong><\/td>\n<td>Your business name, EIN, and address must match exactly what&#8217;s on file with the IRS. Double-check your entries against your actual tax documents.<\/td>\n<\/tr>\n<tr>\n<td><strong>Opt-in checkbox is pre-selected<\/strong><\/td>\n<td>The checkbox must <em>not<\/em> be checked by default. Customers must actively choose to opt in.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If your campaign is rejected, don&#8217;t panic. Read the rejection reason carefully, make the required changes, and resubmit. Most rejections are fixed on the second attempt.<\/p>\n<\/section>\n<section id=\"checklist\">\n<h2>Pre-Submission Checklist<\/h2>\n<p>Run through this checklist before you click &#8220;Register Campaign&#8221; to maximize your chances of approval on the first try:<\/p>\n<ul class=\"checklist\">\n<li>Business name, EIN, and address exactly match your tax filings<\/li>\n<li>Privacy policy page is live, publicly accessible, and includes SMS data language<\/li>\n<li>SMS terms page is live and publicly accessible<\/li>\n<li>Your ResponsiBid quote form has an opt-in checkbox that is <strong>not<\/strong> pre-selected<\/li>\n<li>Opt-in consent text includes: business name, purpose, data rates disclaimer, STOP instructions, and policy links<\/li>\n<li>The quote form page is publicly accessible (or you have a screenshot hosted at a public URL)<\/li>\n<li>Campaign description matches your actual use of SMS<\/li>\n<li>Sample messages include your business name and opt-out language<\/li>\n<li>Sample messages match the campaign use case you selected<\/li>\n<li>Message Flow describes every detail of how customers consent, with URLs included<\/li>\n<li>All URLs you&#8217;ve provided actually work (test them in an incognito browser window)<\/li>\n<\/ul>\n<\/section>\n<section id=\"helpful-links\">\n<h2>Helpful Links<\/h2>\n<table class=\"comparison-table\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Link<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Twilio A2P 10DLC Registration (start here)<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/console\/messaging\/compliance\/a2p\" target=\"_blank\" rel=\"noopener\">Open in Twilio Console \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Twilio A2P 10DLC Quickstart Guide<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/docs\/messaging\/compliance\/a2p-10dlc\/quickstart\" target=\"_blank\" rel=\"noopener\">Twilio Docs \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Twilio \u2014 Standard \/ Low-Volume Registration Guide<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/docs\/messaging\/compliance\/a2p-10dlc\/direct-standard-onboarding\" target=\"_blank\" rel=\"noopener\">Twilio Docs \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Twilio \u2014 Sole Proprietor Registration Guide<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/docs\/messaging\/compliance\/a2p-10dlc\/direct-sole-proprietor-registration-overview\" target=\"_blank\" rel=\"noopener\">Twilio Docs \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Twilio \u2014 Campaign Approval Best Practices<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/en-us\/blog\/insights\/best-practices\/improving-your-chances-of-a2p10dlc-registration-approval\" target=\"_blank\" rel=\"noopener\">Twilio Blog \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Twilio \u2014 Error 30909 (Message Flow \/ CTA Rejection)<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/docs\/api\/errors\/30909\" target=\"_blank\" rel=\"noopener\">Twilio Docs \u2192<\/a><\/td>\n<\/tr>\n<tr>\n<td>Buy a Twilio Phone Number<\/td>\n<td><a href=\"https:\/\/www.twilio.com\/console\/phone-numbers\/search\" target=\"_blank\" rel=\"noopener\">Twilio Console \u2192<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"callout callout-info\">\n<div class=\"callout-title\">Need Help?<\/div>\n<p>If you get stuck or have questions about how ResponsiBid&#8217;s SMS features work with your Twilio campaign, reach out to our support team. We&#8217;re happy to help review your campaign details before you submit.\n<\/p><\/div>\n<\/section>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"menu_order":57,"comment_status":"open","ping_status":"closed","template":"","format":"standard","article-categories":[177],"class_list":["post-1398","article","type-article","status-publish","format-standard","hentry","article-category-sms","article-tag-text-messaging","article-tag-twilio","article-tag-low-volume-campaign-registration"],"_links":{"self":[{"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=\/wp\/v2\/articles\/1398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=\/wp\/v2\/articles"}],"about":[{"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1398"}],"version-history":[{"count":0,"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=\/wp\/v2\/articles\/1398\/revisions"}],"wp:attachment":[{"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1398"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/docs.symphosize.com\/index.php?rest_route=%2Fwp%2Fv2%2Farticle-categories&post=1398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}