Skip to navigation Search UltraCart Get Started

UltraCart platform updates for April 2026 focus on three big themes: a rebuilt StoreFront Visual Builder font picker, cleaner ad-platform signal for auto-order rebills, and durable cross-domain attribution on Safari via server-side Facebook cookies. Auto orders, BigQuery, Klaviyo, and the AI Report Builder all moved forward as well.

Integrations

Klaviyo

  • SMS subscription state preserved: the KlaviyoProfile.Subscriptions.sms field type was incorrectly bound to a Twilio voice class, which caused SMS subscription state to drop on every profile round-trip. The field is now correctly typed and SMS opt-ins survive.
  • List-aware return-cart subscribe: a new optional returnCartListId config field lets KlaviyoSendReturnEmailPostProcessor call the list-aware subscribe endpoint, so Klaviyo applies the list's own single-opt-in setting instead of the account-default double-opt-in. SMS subscribe behavior also improved when no list ID is provided.
  • Transactional response shape: new EmailTransactional and SmsTransactional shapes were added to match Klaviyo's current API response.

Fulfillment

  • LifeFile: outbound requests now send recipientType=patient, and HTTP errors flow into integration logs so merchants can see them without contacting support.
  • ShipStation: Unicode characters are now stripped from merchant notes, eliminating a common cause of failed ShipStation pushes.

StoreFront Visual Builder

Modernized Font Picker

The per-element font picker has been rebuilt. Existing pages keep working as-is, so there's no migration to worry about.

  • Center-screen modal: name search, category chips (Sans, Serif, Display, Handwriting, Monospace), script filter, source filter, and sort by Alphabetical, Popular, or Newest.
  • Live Google Fonts catalog: ~1,500 fonts pulled directly from Google and cached for 7 days with background refresh, so the picker stays current as Google adds new families.
  • Live previews: each row renders the family in its own typeface using the widget's actual rendered text, so you see the font as it will appear on your page.
  • Modern system font stack: system-ui, ui-sans-serif, ui-serif, ui-monospace, ui-rounded, plus Georgia, Tahoma, Trebuchet MS, Palatino Linotype, Garamond, Impact, and Comic Sans MS.
  • Recently used: a per-user "Recently used" group is pinned to the top of the picker.
  • Trigger button preview: the right-rail trigger displays the chosen family name in the picked weight and style, doubling as a live preview, with a source badge and an "Overriding theme font" hint that includes a reset link.
  • Typekit deprecation: Typekit fonts are now badged "Typekit (legacy)" since Adobe is sunsetting the service. No new selections are offered.

CodeMirror Integration

  • Syntax-error save block: Save is now blocked when the editor detects syntax errors, in both Velocity and JavaScript widgets.
  • Script widget: JS syntax highlighting and live JSHint linting, with script-tag stripping.
  • Velocity widget: mixed HTML+Velocity highlighting via overlay mode, with live error markers from a velocityjs parser plus a block matcher.

Editor Modal Overhaul

  • Backdrop click only closes the modal if both mousedown and mouseup originate on the backdrop (no more accidental closes when you drag-select text inside the modal).
  • Consistent Save/Cancel footer across all editor types.
  • Dark-themed modals with header bars, dynamic titles, and explicit close buttons.
  • White Redactor toolbar with proper alignment.

Editor & Sidebar

  • Item ID rename is now tolerated by ContainerManager instead of breaking the editor state.
  • Sidebar improvements, including a sidepanel sticky-header close fix and removal of orphan settings during element-settings save.
  • Survey.js: fix for saving the email collected from the survey.

Item Image Gallery v2

  • Reduced console-log noise.
  • Item-variation multimedia selection improvements.
  • Performance improvements.

Item Variations

  • Hide pricing on selected variations: new option to suppress price display on chosen variations.

Checkout Elements

  • Shipping 3rd-party account number: new display option in checkout, with recalculation on blur and a cart-update trigger when used.
  • One-per-customer validation: now runs after PayPal approval but before charging, closing a window where the check could be bypassed.

MyAccount Auto Order Components

  • Skip-next-shipment button: new action element to skip the next shipment on an auto order, with expanded support inside the MyAccount Auto Order modal.
  • MyAccount Auto Order Modal: lazy rendering setup for faster first paint.
  • New elements: MyAccountAutoOrderCancelForm and MyAccountAutoOrderCancelReasonSelect.
  • MyAccountCondition / MyAccountAutoOrderCondition: when true, can hide content. Useful for personalizing the customer self-service portal.

Order Management

Auto Order Enhancements

  • Cancel reason required: the cancel flow now requires a cancel reason code when cancelling from the search-result list, so reporting on cancel reasons stays clean.
  • Cancel-event detection: improved detection of when a direct update should fire a cancel event, eliminating a class of silent-cancel bugs.

Replacement Shipments & AR Billing

  • Replacement shipment lineage: replacement shipments now track a pointer back to the original order, making it easier to audit the full history.
  • Update-billing AR path: full activity logging on the linked auto order, plus an attempt-counter reset when CS clicks "Send Update Email" so customers stuck at the 3-attempt fraud cap can be unblocked. Merchant notes now appear on the previously silent attempt-limit and fraud-score block branches, so you can see exactly why a charge stopped.

Item Management

  • Inactive kit components highlighted: the item editor now visually flags inactive components inside a kit, so misconfigurations are obvious before a customer hits them.
  • One line per unit: unit-related fields throughout the item editor now render one line per unit for clearer editing.
  • Save and reload: reliability improvements in the Item Editor's save-and-reload cycle.

Communications & Marketing

Auto-Order Rebills as Distinct Ad Events

Rebills no longer fire the same purchase event as new orders. This eliminates inflated headline purchase counts and gives ad optimizers a much cleaner signal, so your acquisition campaigns will stop double-counting recurring revenue.

  • Pinterest: rebills fire RecurringSubscriptionPayment. The UA/IP guard was relaxed for server-generated rebills.
  • Snapchat: rebills fire CUSTOM_EVENT_1.
  • TikTok: rebills fire RecurringSubscriptionPayment.
  • Twitter: rebills are no longer sent. twclid is absent on rebills and Twitter offers no event-id segregation, so suppression is the cleanest option.

Server-Side Facebook Cookie Management

  • Cross-domain handoff: fbc and fbp parameters are now handled during the storefront-to-checkout crosslinking step, preserving attribution across domains.
  • Facebook API v24: upgraded from v23 to v24.
  • Server-set cookies: _fbc and _fbp are now set via Set-Cookie response headers in the StoreFront and checkout, instead of client-side JS.
  • Safari ITP impact: Safari cookie lifespan is extended from the 7-day ITP JS cap to 90 days via server-set cookies. That's a major win for attribution accuracy on Safari traffic.

Coupons & Promotions

  • New coupon type: percent_off_items_with_minimum_item_amount. Apply a percent discount to items only when the item subtotal hits a minimum threshold. Available via the REST API.

BigQuery & Data Warehouse

  • Integration logs in the warehouse: integration logs now stream to the data warehouse (multiple iterations through April), so you can join third-party integration activity with your other warehouse tables.
  • JSON and BYTES column types: BigQuery schema generation now supports JSON and BYTES, removing a long-standing limitation when modelling complex nested or binary payloads.

Reporting & Analytics

  • Cohort Customer Report: SQL fixed to handle properties that now live on auto orders, so cohort segmentation works correctly for subscription customers.

AI Report Builder

  • Estimated bytes returned: result responses now include an estimated bytes figure so you can scale up resource limits when a query needs more headroom.
  • Integration logs table: the AI Report Builder now supports the integration logs table, so you can ask natural-language questions about third-party integration activity (failed pushes, error rates, retries) without writing SQL.

UltraCart Analytics

  • Expanded bot detection: patterns updated based on a month of real user-agent data, reducing bot pollution in your analytics.
  • Global config variable: migrated from the ucaconfig element to a global window variable for SEMRush compatibility.
  • Multiple UTM groups: now supports multiple UTM groups, so you can track several campaign attribution layers simultaneously.
  • Tuple parsing safety: percent-encoding is sanitized before tuple parsing, preventing edge-case parse errors.

REST API & Webhooks

Auto Order

  • cancelAutoOrderItemByReferenceOrderId: a new method that supports appending items on the cancel request. Useful when a cancel needs to ship a replacement or one-time add-on at the same time.

Checkout

  • Enhanced CDN for images: checkout image delivery moved to the enhanced CDN for faster page loads.

Customer

  • E.164 phone fields: E.164-formatted versions of billing and shipping phone numbers are now included in customer records, supporting more accurate phone-number searches across regions.

Order

  • Test payment routing: heldOrderAddItemsAndRelease and heldOrderRelease now consider the merchant's test payment configuration when routing.

That's April. The headline themes are cleaner ad attribution, a craftsman-grade rewrite of the SFVB font picker, and richer warehouse + AI reporting on integration activity. View all platform updates for the full history of what's shipped on UltraCart.