[object Object]

← back to Designer Wallcoverings

add compliant SMS opt-in to trade application

d5da4cf128729b970e92c9f75225615050133688 · 2026-08-28 08:17:14 -0700 · Steve

Files touched

Diff

commit d5da4cf128729b970e92c9f75225615050133688
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Aug 28 08:17:14 2026 -0700

    add compliant SMS opt-in to trade application
---
 .../snippets/dw-trade-apply.liquid                         | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/shopify/staged/trade-account-ux-20260828/snippets/dw-trade-apply.liquid b/shopify/staged/trade-account-ux-20260828/snippets/dw-trade-apply.liquid
index 29df0dc7..a9b10b63 100644
--- a/shopify/staged/trade-account-ux-20260828/snippets/dw-trade-apply.liquid
+++ b/shopify/staged/trade-account-ux-20260828/snippets/dw-trade-apply.liquid
@@ -117,6 +117,13 @@
           <div class="dw-ta-field dw-ta-field--wide dw-ta-consent">
             <label><input name="terms_acknowledged" type="checkbox" value="yes" required> <span>I certify that I am applying on behalf of a design-related business and agree to the <a href="/pages/privacy-policy">privacy policy</a>.</span></label>
           </div>
+          <div class="dw-ta-field dw-ta-field--wide dw-ta-consent dw-ta-sms-consent">
+            <label for="dwTaSmsConsent">
+              <input id="dwTaSmsConsent" name="sms_marketing_consent" type="checkbox" value="yes">
+              <span>Yes, I agree to receive recurring automated promotional and personalized marketing text messages from Designer Wallcoverings at the mobile number provided. Consent is not a condition of purchase. Message frequency varies. Message and data rates may apply. Reply STOP to opt out or HELP for help. We honor opt-out requests and applicable Do Not Call requests; if you add this number to a Do Not Call list, you may also reply STOP or <a href="/pages/contact-us">contact us</a> so we can promptly update our records. See our <a href="/pages/privacy-policy">privacy policy</a>.</span>
+            </label>
+            <p class="dw-ta-consent-note">Leave this box unchecked if you do not want marketing texts. We may still contact you about this application or transactions where permitted by law.</p>
+          </div>
           <div class="dw-ta-submit dw-ta-field--wide">
             <button class="dw-ta-button dw-ta-button--dark" type="submit">Submit application</button>
             <p id="dwTradeStatus" class="dw-ta-status" aria-live="polite"></p>
@@ -156,7 +163,7 @@
   .dw-ta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.dw-ta-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;border:1px solid var(--ta-ink);padding:13px 24px;background:transparent;color:var(--ta-ink);font:700 11px/1.2 var(--element-text-font-family--body,sans-serif);letter-spacing:.12em;text-decoration:none;text-transform:uppercase;cursor:pointer}.dw-ta-button--dark{background:var(--ta-ink);color:#fff}.dw-ta-button--quiet{background:transparent}.dw-ta-note{max-width:570px;margin:18px 0 0;font-size:13px;line-height:1.55;color:#6d675e}
   .dw-ta-benefits{padding:clamp(72px,9vw,128px) clamp(24px,7vw,110px)}.dw-ta-heading{max-width:700px;margin-bottom:52px}.dw-ta-heading h2,.dw-ta-apply__intro h2{font-size:clamp(38px,4.3vw,62px);line-height:1.04;margin:0}.dw-ta-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,46px)}.dw-ta-benefit-grid article{border-top:1px solid var(--ta-line);padding-top:20px}.dw-ta-benefit-grid article>span{color:var(--ta-bronze);font-size:11px;letter-spacing:.15em}.dw-ta-benefit-grid h3{font-size:24px;line-height:1.15;margin:17px 0 12px}.dw-ta-benefit-grid p{margin:0;color:#625d55;line-height:1.65}
   .dw-ta-apply{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:clamp(42px,8vw,130px);padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px);background:var(--ta-paper)}.dw-ta-apply__intro>p:not(.dw-ta-eyebrow){max-width:480px;color:#5c574f;line-height:1.7}.dw-ta-existing{margin-top:40px;padding-top:25px;border-top:1px solid var(--ta-line)}.dw-ta-existing strong,.dw-ta-existing span,.dw-ta-existing a{display:block}.dw-ta-existing span{margin:8px 0 12px;color:#5c574f;line-height:1.55}.dw-ta-existing a{color:var(--ta-ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-underline-offset:4px}
-  .dw-ta-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.dw-ta-field--wide{grid-column:1/-1}.dw-ta-field label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.06em}.dw-ta-field input,.dw-ta-field select,.dw-ta-field textarea{width:100%;min-height:50px;border:1px solid #aaa194;border-radius:0;background:#fff;color:var(--ta-ink);padding:12px 13px;font:16px/1.4 inherit}.dw-ta .selected-text{color:#5f5f5f}.dw-ta-field textarea{resize:vertical}.dw-ta-field input:focus,.dw-ta-field select:focus,.dw-ta-field textarea:focus{outline:3px solid rgba(121,88,51,.25);border-color:var(--ta-bronze)}.dw-ta-consent label{display:flex;gap:10px;font-weight:400;letter-spacing:0;line-height:1.5}.dw-ta-consent input{width:18px;min-height:18px;margin-top:2px}.dw-ta-consent a{color:inherit}.dw-ta-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.dw-ta-status{margin:0;font-size:14px}.dw-ta-status[data-state="error"]{color:#982b23}.dw-ta-status[data-state="success"]{color:#32613d}.dw-ta-approved{padding:clamp(36px,6vw,72px);background:#fff;border:1px solid var(--ta-line)}.dw-ta-approved h3{font-size:38px;margin:0 0 14px}.dw-ta-approved p:not(.dw-ta-eyebrow){line-height:1.65;margin-bottom:25px}
+  .dw-ta-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.dw-ta-field--wide{grid-column:1/-1}.dw-ta-field label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.06em}.dw-ta-field input,.dw-ta-field select,.dw-ta-field textarea{width:100%;min-height:50px;border:1px solid #aaa194;border-radius:0;background:#fff;color:var(--ta-ink);padding:12px 13px;font:16px/1.4 inherit}.dw-ta .selected-text{color:#5f5f5f}.dw-ta-field textarea{resize:vertical}.dw-ta-field input:focus,.dw-ta-field select:focus,.dw-ta-field textarea:focus{outline:3px solid rgba(121,88,51,.25);border-color:var(--ta-bronze)}.dw-ta-consent label{display:flex;gap:10px;font-weight:400;letter-spacing:0;line-height:1.5}.dw-ta-consent input{width:18px;min-height:18px;margin-top:2px;flex:0 0 auto}.dw-ta-consent a{color:inherit}.dw-ta-sms-consent{padding-top:20px;border-top:1px solid var(--ta-line)}.dw-ta-consent-note{margin:8px 0 0 28px;color:#6d675e;font-size:12px;line-height:1.5}.dw-ta-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.dw-ta-status{margin:0;font-size:14px}.dw-ta-status[data-state="error"]{color:#982b23}.dw-ta-status[data-state="success"]{color:#32613d}.dw-ta-approved{padding:clamp(36px,6vw,72px);background:#fff;border:1px solid var(--ta-line)}.dw-ta-approved h3{font-size:38px;margin:0 0 14px}.dw-ta-approved p:not(.dw-ta-eyebrow){line-height:1.65;margin-bottom:25px}
   .dw-ta a:focus-visible,.dw-ta button:focus-visible{outline:3px solid #bd8950;outline-offset:3px}
   .dw-returning{width:min(920px,calc(100vw - 32px));max-width:none;padding:0;border:0;background:#f3efe7;color:#181713;box-shadow:0 30px 90px rgba(0,0,0,.32)}.dw-returning::backdrop{background:rgba(14,13,11,.68);backdrop-filter:blur(4px)}.dw-returning[open]{display:grid;grid-template-columns:1fr 1fr}.dw-returning__room{min-height:620px;background-image:linear-gradient(0deg,rgba(20,18,14,.08),rgba(20,18,14,.02)),var(--dw-ta-room);background-position:center;background-size:cover}.dw-returning__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,72px)}.dw-returning h2{margin:0 0 18px;font:400 clamp(44px,5vw,68px)/1 var(--element-text-font-family--heading,Georgia,serif);letter-spacing:-.03em}.dw-returning__body>p:not(.dw-ta-eyebrow){color:#575149;line-height:1.65}.dw-returning ul{margin:18px 0 28px;padding:0;list-style:none}.dw-returning li{padding:11px 0;border-top:1px solid #d3cabd;font-size:14px}.dw-returning li::before{content:'✓';margin-right:10px;color:#795833;font-weight:700}.dw-returning__close{position:absolute;top:14px;right:16px;width:44px;height:44px;border:0;background:rgba(255,255,255,.9);color:#181713;font-size:28px;line-height:1;cursor:pointer}.dw-returning__new{margin-top:16px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:#4d4841}.dw-returning a:focus-visible,.dw-returning button:focus-visible{outline:3px solid #bd8950;outline-offset:3px}
   @media(max-width:900px){.dw-ta-hero{grid-template-columns:1fr}.dw-ta-hero__media{min-height:52vh}.dw-ta-benefit-grid{grid-template-columns:1fr 1fr}.dw-ta-apply{grid-template-columns:1fr}}
@@ -190,6 +197,11 @@
       if(!form.checkValidity()){form.reportValidity();status.textContent='Please complete the required fields.';status.dataset.state='error';return;}
       var button=form.querySelector('button[type="submit"]');
       var data=Object.fromEntries(new FormData(form).entries());
+      var smsConsent=form.querySelector('#dwTaSmsConsent');
+      data.sms_marketing_consent=Boolean(smsConsent&&smsConsent.checked);
+      data.sms_consent_disclosure_version='dw-sms-v1-2026-08-28';
+      data.sms_consent_captured_at=new Date().toISOString();
+      data.sms_consent_source=window.location.href;
       button.disabled=true;button.textContent='Submitting…';status.textContent='Securely sending your application…';
       try{
         var response=await fetch('https://signup.designerwallcoverings.com/trade/apply',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(data)});

← c12f36ff snapshot before SMS consent update  ·  back to Designer Wallcoverings  ·  add SMS terms for trade opt-in 8704b67e →