<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Innovate Notes</title><description>Short reports from live client work. What we did, what happened, and what you can use on your own store.</description><link>https://innovate.partners/</link><language>en-nz</language><item><title>The consent banner that wasn&apos;t blocking anything</title><link>https://innovate.partners/notes/consent-banner-that-blocked-nothing/</link><guid isPermaLink="true">https://innovate.partners/notes/consent-banner-that-blocked-nothing/</guid><description>A US store had a consent banner set up and showing. Underneath it, every marketing script still loaded before anyone made a choice. We wired the actual blocking and verified it on the live page.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>fix</category><category>shopify</category></item><item><title>A tracking page that stays on your store</title><link>https://innovate.partners/notes/tracking-page-that-stays-on-your-store/</link><guid isPermaLink="true">https://innovate.partners/notes/tracking-page-that-stays-on-your-store/</guid><description>Liquid+ customers checking a delivery now land on a branded tracking page on the store&apos;s own domain, not a carrier page covered in someone else&apos;s branding.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>The promote that would have deleted seven live pages</title><link>https://innovate.partners/notes/promote-would-have-deleted-live-pages/</link><guid isPermaLink="true">https://innovate.partners/notes/promote-would-have-deleted-live-pages/</guid><description>Pages built in the Shopify theme editor sync back to the live branch only. Promote a stale dev branch over it and git reads them as deletions, with no warning from anyone.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>The wholesale features that went free while nobody was looking</title><link>https://innovate.partners/notes/shopify-b2b-without-the-plus-upgrade/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-b2b-without-the-plus-upgrade/</guid><description>A client&apos;s next phase needed company accounts, wholesale pricing and payment terms. Last quarter that meant a Plus upgrade or custom build. We checked the changelog before quoting, and most of it is now native.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>decision</category><category>shopify</category></item><item><title>A landing page that can&apos;t break the rest of the store</title><link>https://innovate.partners/notes/landing-page-that-cant-break-the-store/</link><guid isPermaLink="true">https://innovate.partners/notes/landing-page-that-cant-break-the-store/</guid><description>A campaign landing page for Steadyrack&apos;s ProFlex rack, fourteen sections built from a designed comp. The architecture decision that matters is what the page is not allowed to touch.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A reviews widget that renders exactly where you paste it</title><link>https://innovate.partners/notes/reviews-widget-renders-where-you-paste-it/</link><guid isPermaLink="true">https://innovate.partners/notes/reviews-widget-renders-where-you-paste-it/</guid><description>One Stop Print Shop sent through their review platform&apos;s embed code, and it was wired and verified the same day. The interesting part is how differently these widgets decide where to render.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>The bundle app vanished, so we built bundling into the store</title><link>https://innovate.partners/notes/bundle-app-vanished-function-owned/</link><guid isPermaLink="true">https://innovate.partners/notes/bundle-app-vanished-function-owned/</guid><description>The paid app running Steadyrack&apos;s bundles was pulled from the App Store by its developer. We replaced it with a Shopify Function the store owns outright, proven on a dev store and then activated live.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Matching the design is a measuring job</title><link>https://innovate.partners/notes/redesign-parity-measured-not-eyeballed/</link><guid isPermaLink="true">https://innovate.partners/notes/redesign-parity-measured-not-eyeballed/</guid><description>On a pre-launch redesign, the menu and cart got a parity pass against the design file. Measuring instead of eyeballing found the drifts a side-by-side look would have waved through.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>The push that succeeded and the theme that never changed</title><link>https://innovate.partners/notes/git-push-succeeded-theme-never-updated/</link><guid isPermaLink="true">https://innovate.partners/notes/git-push-succeeded-theme-never-updated/</guid><description>A GitHub-connected Shopify theme can silently refuse a change. Every local check passes, the push reports success, and the theme quietly stays frozen at the last version it liked.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>Product feature icons the team adds themselves</title><link>https://innovate.partners/notes/metaobject-product-features/</link><guid isPermaLink="true">https://innovate.partners/notes/metaobject-product-features/</guid><description>A new eyewear brand needed feature icons on every product page. We built them as metaobjects, so the team adds a feature from the Shopify admin instead of asking a developer for one.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Four regional sites on one WordPress network</title><link>https://innovate.partners/notes/wordpress-multisite-replatform/</link><guid isPermaLink="true">https://innovate.partners/notes/wordpress-multisite-replatform/</guid><description>Bastion&apos;s web estate ran on Vercel, which put every content change in a developer&apos;s queue. We replatformed the group onto a single WordPress multisite network their marketing teams publish to daily.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item><item><title>Getting your product data into an app&apos;s cart drawer</title><link>https://innovate.partners/notes/product-data-in-a-cart-drawer-app/</link><guid isPermaLink="true">https://innovate.partners/notes/product-data-in-a-cart-drawer-app/</guid><description>Steadyrack wanted each cart line to show which bikes that rack suits. The cart drawer is rendered by an app, so we fed it the store&apos;s own product data instead of rebuilding the cart.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A booking site that sells the experience, not just the dates</title><link>https://innovate.partners/notes/custom-wordpress-booking-site/</link><guid isPermaLink="true">https://innovate.partners/notes/custom-wordpress-booking-site/</guid><description>Custom WordPress for a luxury tour operator, with live availability and pricing on the page and a booking path built for high-value direct bookings.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item><item><title>Build the convention, not the feature</title><link>https://innovate.partners/notes/build-the-convention-not-the-feature/</link><guid isPermaLink="true">https://innovate.partners/notes/build-the-convention-not-the-feature/</guid><description>A client wanted a quote popup he could reuse anywhere later. So we built the rule, not the button. Any element that links to it opens it, no developer needed.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A bulk-pricing engine the store owns, no app</title><link>https://innovate.partners/notes/shopify-bulk-pricing-engine/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-bulk-pricing-engine/</guid><description>Volume pricing built as a Shopify function the store owns outright, with tier-aware totals, a savings table and a quote flow, all native, no app subscriptions.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>An upsell that works no matter how the customer logged in</title><link>https://innovate.partners/notes/subscription-upsell-every-login/</link><guid isPermaLink="true">https://innovate.partners/notes/subscription-upsell-every-login/</guid><description>In-portal upgrade banners that read each subscriber&apos;s real plan. The first build only reached some logins, so we rebuilt it to work for every one.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>The subscription widget the app couldn&apos;t show</title><link>https://innovate.partners/notes/subscription-journey-widget/</link><guid isPermaLink="true">https://innovate.partners/notes/subscription-journey-widget/</guid><description>Liquid+ wanted every subscriber to see where they are in their 90-day journey. The subscription app couldn&apos;t show it, so we built the part that could.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Your Shopify product shows sold out, but it&apos;s in stock</title><link>https://innovate.partners/notes/shopify-variant-sold-out-in-stock/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-variant-sold-out-in-stock/</guid><description>A new variant launched showing sold out despite having stock. The cause isn&apos;t inventory, it&apos;s that new variants don&apos;t inherit the product&apos;s shipping profile.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>When a test wins, we make it part of the site</title><link>https://innovate.partners/notes/steadyrack-cro-tests-into-code/</link><guid isPermaLink="true">https://innovate.partners/notes/steadyrack-cro-tests-into-code/</guid><description>Steadyrack run CRO experiments to find what lifts conversion. When one wins, we build the winner into the theme, so it becomes permanent code they own and loads faster.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Speed work you can actually see</title><link>https://innovate.partners/notes/shopify-speed-work-you-can-see/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-speed-work-you-can-see/</guid><description>Making Cycliq&apos;s UK and US stores faster wasn&apos;t one magic fix, it was finding the specific things dragging those pages down and dealing with each.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>speed</category><category>shopify</category></item><item><title>When your Shopify cart shows the wrong price</title><link>https://innovate.partners/notes/shopify-cart-wrong-price/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-cart-wrong-price/</guid><description>A subscription striking through a few cents, a bundle inflating toward a thousand dollars. This is how cart app price helpers go wrong, and where the real numbers live.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate><category>fix</category><category>shopify</category></item><item><title>A new variant goes public the moment you save it</title><link>https://innovate.partners/notes/new-variant-goes-public-when-you-save-it/</link><guid isPermaLink="true">https://innovate.partners/notes/new-variant-goes-public-when-you-save-it/</guid><description>A store was adding a second flavour ahead of a launch date. Shopify has no draft state for variants, so the new one shows up in the picker straight away and every existing variant title changes with it.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>Product images that change with the flavour</title><link>https://innovate.partners/notes/gallery-images-that-follow-the-variant/</link><guid isPermaLink="true">https://innovate.partners/notes/gallery-images-that-follow-the-variant/</guid><description>Shopify attaches one image to a variant. Liquid+ needed a whole set per flavour, so we built it as a naming rule the team control from the media library.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A picker that looks designed and still behaves like Shopify</title><link>https://innovate.partners/notes/designed-variant-picker-native-behaviour/</link><guid isPermaLink="true">https://innovate.partners/notes/designed-variant-picker-native-behaviour/</guid><description>The Liquid+ flavour choice needed to be big, illustrated tiles rather than a dropdown. We built the tiles to drive Shopify&apos;s own variant control instead of replacing it.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>When your product reviews vanish for no reason</title><link>https://innovate.partners/notes/reviews-not-showing-sku-mismatch/</link><guid isPermaLink="true">https://innovate.partners/notes/reviews-not-showing-sku-mismatch/</guid><description>A store&apos;s reviews stopped showing on some products. The reviews were fine. A trailing space had crept into a SKU, so the integration was matching against the wrong thing.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>When your menu grows faster than your store</title><link>https://innovate.partners/notes/shopify-navigation-restructure/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-navigation-restructure/</guid><description>An electric bike retailer&apos;s navigation had sprawled as the range grew. We rebuilt it around broader collections and a mega-menu, driven by metaobjects the team control.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Custom teaching structure, built into WordPress</title><link>https://innovate.partners/notes/custom-wordpress-teaching-tools/</link><guid isPermaLink="true">https://innovate.partners/notes/custom-wordpress-teaching-tools/</guid><description>Structured Maths Approach teach a specific way. We built their method into WordPress with custom fields, so the site works how they teach, and they run it themselves.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item><item><title>Why you can&apos;t restyle that Shopify widget, and what to do</title><link>https://innovate.partners/notes/style-shadow-dom-widget-shopify/</link><guid isPermaLink="true">https://innovate.partners/notes/style-shadow-dom-widget-shopify/</guid><description>A third-party widget that won&apos;t take your CSS is usually sealed inside shadow DOM. This is why your styles bounce off it, and the realistic way to make it fit your brand.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>Fixing double shipping charges on Shopify</title><link>https://innovate.partners/notes/shopify-double-shipping-charge-fix/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-double-shipping-charge-fix/</guid><description>Fulfil from two locations and Shopify can charge a cart for shipping twice. The custom function we built keeps it to one, with no app and no monthly fee to rent.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Stop discount codes stacking on your sale</title><link>https://innovate.partners/notes/block-discount-codes-during-sale/</link><guid isPermaLink="true">https://innovate.partners/notes/block-discount-codes-during-sale/</guid><description>Running a sale while codes are still live means some customers stack both. We built Cycliq a clean switch to block that during a sale, rolled out one market at a time.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Why your header cart count stopped updating</title><link>https://innovate.partners/notes/cart-count-stopped-updating/</link><guid isPermaLink="true">https://innovate.partners/notes/cart-count-stopped-updating/</guid><description>A store&apos;s cart count only refreshed on reload. The cause wasn&apos;t the cart, it was switching the cart from a drawer to a full page, which unhooked the counter.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>gotcha</category><category>shopify</category></item><item><title>Design tokens before paint</title><link>https://innovate.partners/notes/design-tokens-before-paint/</link><guid isPermaLink="true">https://innovate.partners/notes/design-tokens-before-paint/</guid><description>Before restyling a live store, we spent a day making colours, fonts and spacing come from one place. Every change since has been cheaper because of it.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>One geo-redirect across three Shopify stores, no app</title><link>https://innovate.partners/notes/shopify-geo-redirect-no-app/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-geo-redirect-no-app/</guid><description>Steadyrack runs a store per region. We replaced the third-party geo-redirect app with an in-theme system they own, consent-first, no subscription.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A dealer hub, built once and run across every region</title><link>https://innovate.partners/notes/dealer-hub-across-regional-stores/</link><guid isPermaLink="true">https://innovate.partners/notes/dealer-hub-across-regional-stores/</guid><description>A brand selling through dealers across several regional Shopify stores needed a logged-in dealer portal in each. We built it once and ported it, so every region runs the same thing.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>One country switcher across a multi-region store estate</title><link>https://innovate.partners/notes/shopify-multi-region-country-switcher/</link><guid isPermaLink="true">https://innovate.partners/notes/shopify-multi-region-country-switcher/</guid><description>Cycliq run a store per region. We replaced a scattered set of native pickers with one clean country and currency switcher that behaves the same everywhere.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>Stop renting your checkout</title><link>https://innovate.partners/notes/stop-renting-your-checkout/</link><guid isPermaLink="true">https://innovate.partners/notes/stop-renting-your-checkout/</guid><description>Cycliq&apos;s bundles ran through a monthly app. We rebuilt them as code Cycliq owns, running on their own checkout, no subscription and nobody else on the critical path.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><category>decision</category><category>shopify</category></item><item><title>Blocking checkout by state, as code you own</title><link>https://innovate.partners/notes/willies-state-restrictions-checkout-block/</link><guid isPermaLink="true">https://innovate.partners/notes/willies-state-restrictions-checkout-block/</guid><description>Some hemp products can&apos;t legally ship to some US states. We built the rule as a Shopify checkout function Willie&apos;s own, so it&apos;s enforced on every order with no app.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>build</category><category>shopify</category></item><item><title>A site that sells trust for an IT company</title><link>https://innovate.partners/notes/a-site-that-sells-trust/</link><guid isPermaLink="true">https://innovate.partners/notes/a-site-that-sells-trust/</guid><description>For an IT provider, trust is the product. We designed and built a WordPress site around each service line, with real proof and a clear path to a call.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item><item><title>A trade portal where every account sees its own price</title><link>https://innovate.partners/notes/trade-portal-account-pricing/</link><guid isPermaLink="true">https://innovate.partners/notes/trade-portal-account-pricing/</guid><description>Trade customers buy on negotiated pricing with quantity breaks. We built a WordPress portal that reads those tiers straight from the client&apos;s ERP, so the price is right everywhere it appears.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item><item><title>Off Wix, onto a site they own</title><link>https://innovate.partners/notes/off-wix-onto-wordpress-you-own/</link><guid isPermaLink="true">https://innovate.partners/notes/off-wix-onto-wordpress-you-own/</guid><description>A café and events venue moved off Wix onto WordPress they own outright, designed from scratch, with booking, ticketing, and a 3D venue tour built in.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><category>build</category><category>wordpress</category></item></channel></rss>