DATE:
AUTHOR:
Dutchie Product Team
TABLE OF CONTENTS:
    Dutchie E-Commerce

    Dutchie E-Commerce: Faster mobile ppp, easier loyalty and Pay by Bank sign-up, embedded loyalty signup for your website, fixes, and more

    DATE:
    AUTHOR: Dutchie Product Team
    TABLE OF CONTENTS:

      Here’s what’s new and coming soon to Dutchie E-Commerce. Subject to change.

      Mobile App

      Performance enhancements

      We're rolling out a suite of performance and under-the-hood optimizations to make the mobile ordering experience faster, smoother, and more reliable for your shoppers.

      What's new:

      • Instant Product Pages: Tapping an item now opens the Product Detail Page (PDP) immediately with zero transition lag.

      • Smoother Browsing & Zero Layout Shift: Carousels and product lists now load in stable, fixed-height frames, preventing content jumps as images appear.

      • Faster Image Loading & Less Data Usage: Images are now dynamically resized, compressed, and served in modern formats (WebP/AVIF), significantly speeding up load times on mobile networks.

      • Polished Checkout Flow: Resolved input stutter during state selection and medical ID verification, and refined transitions leading into the post-order receipt screen.

      • Network & App Efficiency: Added query caching (APQ) and automatic local storage cleanup, reducing mobile data consumption and keeping the app fast and lightweight over extended use.

      Round up options in checkout

      "Round up the change" options configured in Dutchie POS will now be reflected in Mobile App checkout.

      In-app prompts for push notifications & loyalty enrollment

      To help dispensaries drive customer engagement and reduce reliance on costly SMS marketing, the Dutchie Mobile App now includes automated, recurring in-app reminders for push notification opt-in and loyalty program enrollment.

      How it works:

      • 14-Day Reminders: App users who haven't enabled push notifications or enrolled in loyalty will receive a reminder every 14 days on the home screen.

      • Automatic Suppression: Prompts stop permanently once a user opts in or joins loyalty.

      • 3-Dismissal Limit: If a shopper dismisses a prompt three times, the reminder will no longer appear.

      • Non-Intrusive: Nudges only display on the home screen to keep shopping and checkout friction-free.

      Mobile discount gamification

      We've brought discount gamification to white-label mobile apps, bringing full promotional parity with Dutchie E-Commerce web menus. Mobile shoppers can now track real-time promotional progress across product details pages, specials menus, post-add-to-cart interstitials, and the cart view using interactive radial progress meters. Supporting both BOGO offers and minimum spend or item-count thresholds, these dynamic visual indicators motivate consumers to add qualifying items and unlock savings, boosting average order values and driving conversions through checkout.

      Unified sign-up flow for Loyalty and Pay by Bank

      When shoppers create an account on your Dutchie online menu for the first time, one guided flow now walks them through:

      1. Creating an account

      2. Joining your loyalty program

      3. Linking a bank for Pay by Bank (through Plaid)

      4. Downloading their loyalty pass to Apple Wallet or Google Wallet (if you use Dutchie Mobile)

      What you need to know

      • No setup needed: It turns on automatically if you have Dutchie Loyalty (or Loyalty & Marketing) and/or Pay by Bank. Shoppers only see the steps for features you offer.

      • No checkout impact: It only appears for brand-new accounts. It never shows at the cart or checkout, and it doesn't appear again for existing customers.

      • Every step is optional: Shoppers can skip any step and still finish creating their account.

      • No in-store changes: Your budtenders and register workflows stay the same.

      Learn more in the Help Center.

      Dutchie E-Commerce

      Embedded loyalty signup for your website

      Keep shoppers on your domain and grow your rewards program with Embedded Loyalty Signup. Retailers can now host Dutchie’s loyalty enrollment experience directly on their own website—allowing customers to sign up or log in to your rewards program without ever being redirected away.

      What’s new:

      • Keep Customers on Your Website: Embed a responsive loyalty signup form directly into your homepage, promotional landing pages, or website footer. Keeping shoppers on your domain provides brand continuity, builds trust, and drives higher enrollment conversion.

      • Matches Your Brand Styling: The embedded form automatically inherits the colors, buttons, and link styling configured in your Dutchie Admin settings, delivering a native look and feel that blends seamlessly with your site design.

      • Frictionless Passwordless Login: Say goodbye to frustrating "account already exists" errors. The signup experience now features a streamlined 6-digit magic code verification:

        • Existing Dutchie shoppers: Entering their email automatically logs them in and enrolls them into your dispensary’s rewards program.

        • New shoppers: Prompted to quickly complete their profile (including medical card details where applicable) and finish enrollment in just a few clicks.

      • Auto-Resizing & Modal Support: The embed snippet dynamically adjusts its height to match form steps, eliminating awkward iframe scrollbars or cut-off content. It supports both inline placement and popup/modal overlays.

      • Custom Event & Analytics Tracking: For teams looking to track conversions, the embed emits standard lifecycle events (dutchie:loyalty:loaded, dutchie:loyalty:success, dutchie:loyalty:error) so you can connect successful signups directly to Google Analytics, Meta Pixel, or custom on-page confirmation messages.

      How to get started

      1. In Dutchie Admin, navigate to Enterprise Settings > Enrollment.

      2. Open the Embed Code panel to generate your custom snippet.

      3. Copy and paste the generated snippet into your website builder or CMS where you want the loyalty form to appear.

      Named virtual budtender

      Give your AI Concierge a custom name (Customize > Theme), shown instead of the generic "Virtual Budtender" label throughout the chat experience on web and kiosk; in the empty-state greeting, chat copy, and category/product naming.

      Expanded self-service settings

      Dispensary administrators now have direct control over four popular Store Menu and Checkout settings in Dutchie Ecommerce Admin without needing to contact Dutchie Support or have super-admin privileges.

      Store Menu Settings

      • Hide out of stock products
        Keep your online storefront clean and avoid customer disappointment by automatically hiding products once inventory reaches zero.

      • Show Loyalty Rewards
        Prominently showcase loyalty rewards on your online menu to drive program enrollment and incentivize higher order values.

      Checkout Settings

      • Enable Paused Ordering
        Temporarily pause incoming online orders directly from your admin settings whenever your store experiences unexpected volume spikes, staffing constraints, or technical disruptions.

      • Display phone number confirmation modal
        Require shoppers to verify their phone number during checkout to ensure accurate SMS notifications, order pickup alerts, and customer outreach.

      California compliance acknowledgement in checkout

      To support California Department of Cannabis Control (DCC) regulatory requirements under SB 540, Dutchie E-Commerce will display a mandatory compliance acknowledgment and direct link to the state informational brochure during online checkout for California dispensaries.

      Before submitting an order, online consumers are presented with acknowledgment text: “By submitting this order I acknowledge I was provided access to the state informational brochure as required,” alongside a direct link to review the official state brochure.

      Fixes

      We're deploying fixes for the following issues:

      • Customer search in admin could leak customer data across dispensaries and match on the wrong fields, due to a bug in how search conditions were combined.

      • A collection could include a product that didn't actually match the collection's configured criteria.

      • Some mobile Safari shoppers could get stuck in a Cloudflare login loop, with the menu failing to load.

      • Kiosk check-in could show an error related to birthdate.

      • A kiosk-specific product lookup was missing required context, which could cause incorrect product data (or a fallback placeholder) to be used instead of the real product.

      • A product's displayed weight and its checkout weight could disagree for fractional weight options (e.g., 1/8), because one used a normalized value and the other didn't.

      • Terms-of-service and text-notification-setting updates could silently fail without any error being surfaced, due to an overly broad error handler.

      • Looking up delivery info for an address could throw an unhandled error when expected input or dispensary data was missing, instead of failing gracefully.

      • Menu score averages in admin were rounded half-up for display, so a location averaging 4.996 displayed as a perfect 5.00, obscuring categories that were actually behind.

      • "Buy It Again" / reorder recommendations could lose their most-purchased-first sort order.

      • The AI Voice Agent could offer Pay by Bank on phone orders even though it isn't supported there, and submit the order as a debit card payment if a caller chose it.

      • A product visible in a collection could open a 404 page when clicked.

      • Homepage section images could render far larger than intended, bleeding out of their container in the admin customization screen.

      • A payment error during checkout could crash with a server error instead of returning a clear error message.

      • Updating a profile with no birthday provided (an explicitly optional field) could crash with an error instead of saving successfully.

      • Product buying-option duration estimates could throw an error when a product's dispensary was missing or deleted.

      • Certain malformed request data could cause error logging itself to crash with a 500, instead of returning the originally intended error.

      • A dispensary with no configured maximum delivery distance could cause a server error instead of defaulting to 0.

      • On a per-location embedded menu, accepting a store-routing suggestion moved the embedded menu to the new store but left the surrounding page on the old store's URL, so a reload or shared link returned to the wrong store.

      • A delivery address could populate as out of the delivery area even when it was within it.

      • Featured products on a profile could silently lose any inactive or archived products from the list, a regression from an earlier fix.

      • A consumer's in-store loyalty enrollment status could be silently cleared if their profile was later updated through a different code path that didn't know about that field.

      TABLE OF CONTENTS:
        Powered by LaunchNotes