<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Feature Releases &#8211; Dynasort | Dynamic Merchandising Sorting for Shopify</title>
	<atom:link href="https://dynasort.io/category/updates/feed/" rel="self" type="application/rss+xml" />
	<link>https://dynasort.io</link>
	<description></description>
	<lastBuildDate>Tue, 13 Oct 2026 16:51:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://dynasort.io/wp-content/uploads/2026/01/cropped-icon-32x32.png</url>
	<title>Feature Releases &#8211; Dynasort | Dynamic Merchandising Sorting for Shopify</title>
	<link>https://dynasort.io</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Agents Shop, Bots Don&#8217;t: How Dynasort Insights Now Filter Bot Traffic</title>
		<link>https://dynasort.io/bot-traffic-shopify-analytics/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Tue, 13 Oct 2026 16:51:30 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Masthead]]></category>
		<category><![CDATA[Metrics & Measurement]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=1962</guid>

					<description><![CDATA[About one in six storefront sessions we measure across Shopify stores is a bot, and every one of them pads your session count and pulls your conversion rate down. As of October 13, 2026, Dynasort Insights leave bots out by default, keep shopping agents in, and never let bot visits touch your sort order. This [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">About one in six storefront sessions we measure across Shopify stores is a bot, and every one of them pads your session count and pulls your conversion rate down. As of October 13, 2026, Dynasort Insights leave bots out by default, keep shopping agents in, and never let bot visits touch your sort order. This post covers what the bots look like, how we tell an assistant that shops from a bot that doesn&#8217;t, and what changes on your Insights screen.</p>



<div style="border:1px solid #e6e4f2;border-left:4px solid #4F46E5;border-radius:0 12px 12px 0;padding:18px 22px;margin:4px 0 28px;background:#f6f5ff">
  <div style="font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#4F46E5;margin-bottom:10px">Key takeaways</div>
  <ul style="margin:0;padding-left:18px;line-height:1.65;color:#14122b">
    <li>On the first day of live classification, bots were roughly 15% to 18% of storefront sessions across the stores Dynasort runs on. On some stores they were more than half.</li>
    <li>One page-rendering farm alone produced more than 200,000 sessions in nine days, with zero add-to-carts.</li>
    <li>At one fashion store where bots were about 30% of sessions, collection conversion rate moved from 0.27% to 0.39% once they were removed. Same orders, honest denominator.</li>
    <li>Dynasort Insights now count <strong>Shoppers</strong> by default: people plus shopping agents. People only and All traffic are one setting away.</li>
    <li>Sorting never uses bot visits, whatever you choose. Bot filtering is on for every store, on every plan.</li>
  </ul>
</div>



<h2 class="wp-block-heading">Why Is There Bot Traffic in Your Shopify Analytics?</h2>



<p class="wp-block-paragraph">Because the bots that matter don&#8217;t announce themselves. Most analytics tools filter the ones that do: search engine crawlers say who they are, and they are easy to drop. The expensive bots are scrapers watching your prices, rendering services that load full pages in a real browser engine, monitoring tools and link checkers. They run JavaScript, fire page views, and look like a visit.</p>



<p class="wp-block-paragraph">They also never buy. So every bot session lands at the bottom of every rate you care about. Sessions go up, conversion rate goes down, add-to-cart rate goes down, and a collection that bots happen to crawl hard looks like it is failing.</p>



<p class="wp-block-paragraph">This came to a head in early October 2026. A merchant sent us a GA4 report showing a surge in sessions that went nowhere. We traced it to a single rendering farm: the same browser build every time, a screen of exactly 1800&#215;1125, and an outer browser window of 1808&#215;1210. That window is bigger than the screen it runs on, which a real browser can&#8217;t do.</p>



<p class="wp-block-paragraph">It wasn&#8217;t one store&#8217;s problem. Because we see every store we serve, we could follow that one fingerprint across the network, day by day.</p>



<style>@media (max-width:560px){.ds-bot1-wrap .ds-g{gap:3px!important}.ds-bot1-wrap .ds-v{font-size:10px!important}.ds-bot1-wrap .ds-d{font-size:9px!important}.ds-bot3-wrap .ds-n{font-size:30px!important}}</style>
<div class="ds-bot1-wrap" style="margin:8px 0 28px">
  <div style="border:1px solid #e6e4f2;border-radius:18px 18px 18px 3px;padding:20px 22px;background:#fff">
    <p style="margin:0 0 2px;font-weight:700;font-size:17px;color:#14122b">One rendering farm, nine days</p>
    <p style="margin:0 0 16px;font-size:13px;color:#4b4868">Sessions per day from the 1800&#215;1125 fingerprint across the stores Dynasort serves, October 5 to 13, 2026.</p>
    <div class="ds-g" style="display:grid;grid-template-columns:repeat(9,1fr);gap:8px;align-items:end">
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:75%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">20.6k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 5</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:100%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">27.4k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 6</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:73%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">20.0k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 7</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:58%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">15.8k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 8</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:98%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">26.8k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 9</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:88%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">24.0k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 10</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:85%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">23.4k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 11</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:90%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">24.7k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 12</p></div>
      <div style="text-align:center"><div style="height:150px;display:flex;align-items:end;justify-content:center"><div style="width:78%;height:96%;background:#8f8af0;border-radius:8px 8px 2px 2px"></div></div><p class="ds-v" style="margin:6px 0 0;font-weight:700;font-size:13px;color:#14122b">26.3k</p><p class="ds-d" style="margin:0;font-size:11px;color:#4b4868">Oct 13</p></div>
    </div>
    <div style="display:flex;flex-wrap:wrap;gap:10px;margin-top:16px">
      <span style="background:#f6f5ff;border:1px solid #e6e4f2;border-radius:999px;padding:6px 14px;font-size:13px;color:#14122b"><strong>209,121</strong> sessions</span>
      <span style="background:#f6f5ff;border:1px solid #e6e4f2;border-radius:999px;padding:6px 14px;font-size:13px;color:#14122b"><strong>0</strong> add-to-carts</span>
      <span style="background:#f6f5ff;border:1px solid #e6e4f2;border-radius:999px;padding:6px 14px;font-size:13px;color:#14122b"><strong>0</strong> checkouts</span>
    </div>
    <p style="margin:14px 0 0;font-size:12px;color:#4b4868">October 5 starts at midnight, the day the farm first showed up in volume. October 13 runs to the evening of the day filtering went live.</p>
  </div>
</div>



<p class="wp-block-paragraph">One merchant looking at their own analytics sees a traffic spike. Looking across the network, it is plainly one bot.</p>



<h2 class="wp-block-heading">What Does Bot Traffic Do to Your Conversion Rate?</h2>



<p class="wp-block-paragraph">It sinks it. A bot session adds to the denominator and never to the numerator. Take one fashion store from that week: bots were about 30% of its sessions. With them counted, its collection conversion rate was 0.27%. With them removed, 0.39%. Its cart rate moved from 1.30% to 1.85%.</p>



<div class="ds-bot2-wrap" style="margin:8px 0 28px">
  <div style="border:1px solid #e6e4f2;border-radius:18px 18px 18px 3px;padding:20px 22px;background:#fff">
    <p style="margin:0 0 2px;font-weight:700;font-size:17px;color:#14122b">One fashion store, before and after bot filtering</p>
    <p style="margin:0 0 14px;font-size:13px;color:#4b4868">October 6 to 12, 2026. Bots were 29.6% of sessions. Orders and carts are identical in both rows.</p>
    <p style="margin:10px 0 6px;font-size:13px;font-weight:700;color:#14122b">Collection conversion rate</p>
    <div style="display:flex;align-items:center;gap:10px;margin:6px 0"><span style="width:130px;font-size:13px;color:#4b4868">With bots</span><div style="flex:1;background:#f6f5ff;border-radius:6px;height:22px;overflow:hidden"><div style="width:69%;height:100%;background:#cfcdf2"></div></div><span style="width:60px;text-align:right;font-weight:600;color:#14122b">0.27%</span></div>
    <div style="display:flex;align-items:center;gap:10px;margin:6px 0"><span style="width:130px;font-size:13px;color:#4b4868">Bots removed</span><div style="flex:1;background:#f6f5ff;border-radius:6px;height:22px;overflow:hidden"><div style="width:100%;height:100%;background:#4F46E5"></div></div><span style="width:60px;text-align:right;font-weight:600;color:#14122b">0.39%</span></div>
    <p style="margin:16px 0 6px;font-size:13px;font-weight:700;color:#14122b">Cart rate</p>
    <div style="display:flex;align-items:center;gap:10px;margin:6px 0"><span style="width:130px;font-size:13px;color:#4b4868">With bots</span><div style="flex:1;background:#f6f5ff;border-radius:6px;height:22px;overflow:hidden"><div style="width:70%;height:100%;background:#cfcdf2"></div></div><span style="width:60px;text-align:right;font-weight:600;color:#14122b">1.30%</span></div>
    <div style="display:flex;align-items:center;gap:10px;margin:6px 0"><span style="width:130px;font-size:13px;color:#4b4868">Bots removed</span><div style="flex:1;background:#f6f5ff;border-radius:6px;height:22px;overflow:hidden"><div style="width:100%;height:100%;background:#4F46E5"></div></div><span style="width:60px;text-align:right;font-weight:600;color:#14122b">1.85%</span></div>
    <p style="margin:14px 0 0;font-size:12px;color:#4b4868">Nothing about the store changed. The rate stopped counting visitors who were never going to buy.</p>
  </div>
</div>



<p class="wp-block-paragraph">The same goes for every comparison you make. If one collection gets crawled twice as hard as another, its conversion rate looks worse for reasons that have nothing to do with the products on it. Removing bots makes collections comparable again.</p>



<h2 class="wp-block-heading">What Changed in Dynasort Insights?</h2>



<p class="wp-block-paragraph">Every storefront session Dynasort measures now gets one of three labels, and Insights count the first two by default.</p>



<figure class="table-responsive"><table class="table "><thead><tr><th>Label</th><th>What it is</th><th>Counted in Insights by default</th><th>Used for sorting</th></tr></thead><tbody>
<tr><td>Person</td><td>Someone shopping in a browser, however they arrived</td><td>Yes</td><td>Yes</td></tr>
<tr><td>Shopping agent</td><td>An assistant that browses and buys on behalf of a real person, such as ChatGPT&#8217;s agent</td><td>Yes</td><td>Yes</td></tr>
<tr><td>Bot</td><td>Crawlers, scrapers, page-rendering services, monitors</td><td>No</td><td>Never</td></tr>
</tbody></table><figcaption class="wp-element-caption">Labels apply from October 6, 2026 on. Earlier days are unchanged.</figcaption></figure>



<p class="wp-block-paragraph">A fingerprint we identify as a bot today is also removed from the days it visited before we caught it, so Insights get cleaner after the fact, not only going forward.</p>



<h2 class="wp-block-heading">How Does Dynasort Tell Shopping Agents From Bots?</h2>



<p class="wp-block-paragraph">By what they do at the cart. Shopping agents are new, and they are customers. When someone asks an assistant to find and buy a pair of running shoes, the assistant visits your store, browses a collection, and adds to cart on that person&#8217;s behalf. Filtering those visits out would hide real demand. So the hard part of this project wasn&#8217;t spotting automation. It was telling automation that shops from automation that doesn&#8217;t.</p>



<p class="wp-block-paragraph">Our rule is short: <strong>agents shop, bots don&#8217;t.</strong> An agent exists to buy something for a person, so over time its traffic produces carts and checkouts. A bot never does.</p>



<p class="wp-block-paragraph">A single store can&#8217;t apply that rule, because it only sees its own traffic. We can. Every day we group sessions by device fingerprint across every store we serve and compare what each fingerprint did with what it should have done at those stores&#8217; normal add-to-cart rates.</p>



<div class="ds-bot3-wrap" style="margin:8px 0 28px">
  <div style="border:1px solid #e6e4f2;border-radius:18px 18px 18px 3px;padding:20px 22px;background:#fff">
    <p style="margin:0 0 2px;font-weight:700;font-size:17px;color:#14122b">The network test, one day</p>
    <p style="margin:0 0 16px;font-size:13px;color:#4b4868">The 1800&#215;1125 fingerprint on October 13, 2026: 23,223 sessions.</p>
    <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
      <div style="background:#f6f5ff;border:1px solid #e6e4f2;border-radius:14px;padding:18px 18px 16px">
        <p style="margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4b4868">Carts expected</p>
        <p class="ds-n" style="margin:6px 0 0;font-size:40px;line-height:1;font-weight:800;color:#2E2A9D">1,030</p>
        <p style="margin:8px 0 0;font-size:13px;color:#4b4868">at the normal add-to-cart rates of the stores it visited</p>
      </div>
      <div style="background:#fff;border:2px solid #4F46E5;border-radius:14px;padding:18px 18px 16px">
        <p style="margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4b4868">Carts produced</p>
        <p class="ds-n" style="margin:6px 0 0;font-size:40px;line-height:1;font-weight:800;color:#4F46E5">0</p>
        <p style="margin:8px 0 0;font-size:13px;color:#4b4868">so the fingerprint is a bot, on every store, including past days</p>
      </div>
    </div>
    <p style="margin:14px 0 0;font-size:12px;color:#4b4868">A fingerprint needs 200 or more sessions, zero carts, and at least 10 carts expected before the network test calls it a bot. A fingerprint that produces a cart anywhere is kept.</p>
  </div>
</div>



<p class="wp-block-paragraph">The network test sits alongside four other signals:</p>



<ul class="wp-block-list">
<li><strong>Declared identity.</strong> Crawlers that name themselves are bots. Assistants that fetch a page live for a person, and say so, are agents.</li>
<li><strong>Signed agent requests.</strong> Some agent operators sign their requests using Web Bot Auth, so we can check who sent them. A signature from a known shopping-agent operator marks an agent.</li>
<li><strong>Impossible browser geometry.</strong> A browser window bigger than its screen, a window with no screen, or the square screens headless browsers ship with. We allow for rotated tablets and the quirks of phone browsers.</li>
<li><strong>Hosting networks.</strong> People rarely shop from a data center. A session from a hosting network with almost no activity counts against it; the same session with a cart counts as a shopping agent.</li>
</ul>



<p class="wp-block-paragraph">One honest limit: an assistant that hides what it is and browses without ever buying looks exactly like a scraper, so we count it as a bot. It produced no shopper outcome, so leaving it out doesn&#8217;t hide a sale.</p>



<h2 class="wp-block-heading">What Will You See in Insights?</h2>



<p class="wp-block-paragraph">Cleaner numbers, a line telling you how much was left out, and a setting if you want a different view. There is nothing to turn on.</p>



<div class="ds-bot4-wrap" style="margin:8px 0 28px">
  <div style="border:1px solid #e6e4f2;border-radius:18px 18px 18px 3px;padding:20px 22px;background:#f6f5ff">
    <div style="background:#fff;border:1px solid #e6e4f2;border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(20,18,43,.06)">
      <p style="margin:0 0 4px;font-weight:700;font-size:15px;color:#14122b">Traffic in Insights</p>
      <p style="margin:0 0 12px;font-size:13px;color:#4b4868">Choose which visits your Insights numbers count. Bots are crawlers, scrapers and monitoring tools that never shop.</p>
      <p style="margin:0 0 8px;font-size:13px;font-weight:600;color:#14122b">Count these sessions</p>
      <div style="display:flex;gap:10px;align-items:flex-start;margin:0 0 10px"><span style="flex:none;width:16px;height:16px;border-radius:50%;border:5px solid #4F46E5;margin-top:2px;box-sizing:border-box"></span><span style="font-size:13px;color:#14122b"><strong>Shoppers (recommended)</strong><br><span style="color:#4b4868">People plus shopping agents, the assistants that browse and buy for a person. Bots are left out.</span></span></div>
      <div style="display:flex;gap:10px;align-items:flex-start;margin:0 0 10px"><span style="flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid #9a97b8;margin-top:2px;box-sizing:border-box"></span><span style="font-size:13px;color:#14122b"><strong>People only</strong><br><span style="color:#4b4868">Leaves out bots and shopping agents.</span></span></div>
      <div style="display:flex;gap:10px;align-items:flex-start"><span style="flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid #9a97b8;margin-top:2px;box-sizing:border-box"></span><span style="font-size:13px;color:#14122b"><strong>All traffic</strong><br><span style="color:#4b4868">Counts every visit, bots included, like raw pageview tools.</span></span></div>
    </div>
    <div style="background:#fff;border:1px solid #e6e4f2;border-left:4px solid #7C3AED;border-radius:0 12px 12px 0;padding:12px 16px;margin-top:12px;font-size:13px;color:#14122b">Bots excluded: 4,120 sessions (17.8%) in the last 7 days. Shopping agents are counted. <span style="color:#4F46E5;font-weight:600">Change</span></div>
    <p style="margin:12px 0 0;font-size:12px;color:#4b4868">Settings &gt; Traffic in Insights, and the line that appears on Insights. Session figures in the Insights line are illustrative.</p>
  </div>
</div>



<ul class="wp-block-list">
<li><strong>Your numbers count shoppers.</strong> Sessions, conversion rate, add-to-cart rate, exits and bounces now count people and shopping agents.</li>
<li><strong>A marker on your timeline.</strong> The day bot filtering started is marked, so a step up in conversion rate there is easy to read.</li>
<li><strong>A setting if you want a different view.</strong> Settings &gt; Traffic in Insights offers Shoppers (the default), People only, or All traffic, with your last seven days by type shown before you pick.</li>
<li><strong>Sorting doesn&#8217;t change with the setting.</strong> Your sort order never used bot visits and never will. The setting only changes what Insights display.</li>
<li><strong>A flag for traffic that doesn&#8217;t add up.</strong> If a collection&#8217;s sessions at least triple week over week while its cart rate falls by two thirds or more, Insights show &#8220;Traffic jumped without carts following&#8221;. That is the shape of a bot we haven&#8217;t identified yet, and it is worth a look.</li>
</ul>



<h2 class="wp-block-heading">Does Dynasort Store Shopper IP Addresses?</h2>



<p class="wp-block-paragraph">No. To recognize hosting networks we look at where each visit comes from, and we built that so we never keep the address itself. From each visit we keep the country, the network owner (for example, a home internet provider or a hosting company), a truncated address, and a one-way hash of the full address made with a key that changes every day and is deleted soon after. That is enough to spot one machine sending thousands of sessions today, and not enough to follow a person from one day to the next.</p>



<p class="wp-block-paragraph">Country and network data come from <a href="https://db-ip.com" target="_blank" rel="noopener">IP Geolocation by DB-IP</a>, licensed under <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="noopener">CC BY 4.0</a>.</p>



<h2 class="wp-block-heading">Frequently Asked Questions</h2>



<h3 class="wp-block-heading">Does Dynasort count bot traffic in Insights?</h3>



<p class="wp-block-paragraph">No. Since October 13, 2026, Dynasort Insights leave bot sessions out by default. Sessions, conversion rate, add-to-cart rate and every other Insights number count people and shopping agents only. You can switch to People only or All traffic in Settings &gt; Traffic in Insights.</p>



<h3 class="wp-block-heading">Does bot traffic affect how Dynasort sorts my collections?</h3>



<p class="wp-block-paragraph">No. Dynasort sorting never uses bot visits, whatever you pick in the Insights traffic setting. Product views, cart adds and conversion rate used for sorting always come from people and shopping agents.</p>



<h3 class="wp-block-heading">What is the difference between a shopping agent and a bot?</h3>



<p class="wp-block-paragraph">A shopping agent is an assistant that browses and buys on behalf of a real person, such as ChatGPT&#8217;s agent. A bot is a crawler, scraper or page-rendering service that never buys. Dynasort counts shopping agents as shoppers and leaves bots out. The short rule: agents shop, bots don&#8217;t.</p>



<h3 class="wp-block-heading">How does Dynasort tell bots apart from shoppers?</h3>



<p class="wp-block-paragraph">Dynasort sees every storefront it serves, so it judges each device fingerprint by its behavior across the whole network. A fingerprint with many sessions and zero carts, where those stores&#8217; normal rates would predict many carts, is a bot. Dynasort also uses declared identities, signed agent requests (Web Bot Auth), browser windows bigger than the screen they run on, and hosting-network signals.</p>



<h3 class="wp-block-heading">Why did my conversion rate go up in Dynasort Insights?</h3>



<p class="wp-block-paragraph">Because bots no longer pad the session count. Your orders and carts did not change; the number they are divided by got smaller and more honest. At one fashion store where bots were about 30% of sessions, collection conversion rate moved from 0.27% to 0.39%. The Insights timeline marks the day bot filtering started.</p>



<h3 class="wp-block-heading">Are older Insights days filtered too?</h3>



<p class="wp-block-paragraph">Days from October 6, 2026 on are filtered. Earlier days stay as they were, and the Insights timeline marks when filtering began so the change is easy to read.</p>



<h3 class="wp-block-heading">Does Dynasort store shopper IP addresses?</h3>



<p class="wp-block-paragraph">No. Dynasort never stores a shopper&#8217;s raw IP address. It keeps the country, the network owner, a truncated address and a one-way hash that changes every day. Location data comes from DB-IP Lite, licensed CC BY 4.0.</p>



<h3 class="wp-block-heading">Can a real shopper be counted as a bot by mistake?</h3>



<p class="wp-block-paragraph">A person who adds to cart or checks out is counted as a shopper unless the visit also carries strong automation evidence, like a declared bot identity. The one honest gap: an undeclared assistant that browses and never buys looks exactly like a scraper, so it is counted as a bot. It produced no shopper outcome, so leaving it out does not hide a sale.</p>



<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Does Dynasort count bot traffic in Insights?","acceptedAnswer":{"@type":"Answer","text":"No. Since October 13, 2026, Dynasort Insights leave bot sessions out by default. Sessions, conversion rate, add-to-cart rate and every other Insights number count people and shopping agents only. You can switch to People only or All traffic in Settings > Traffic in Insights."}},{"@type":"Question","name":"Does bot traffic affect how Dynasort sorts my collections?","acceptedAnswer":{"@type":"Answer","text":"No. Dynasort sorting never uses bot visits, whatever you pick in the Insights traffic setting. Product views, cart adds and conversion rate used for sorting always come from people and shopping agents."}},{"@type":"Question","name":"What is the difference between a shopping agent and a bot?","acceptedAnswer":{"@type":"Answer","text":"A shopping agent is an assistant that browses and buys on behalf of a real person, such as ChatGPT's agent. A bot is a crawler, scraper or page-rendering service that never buys. Dynasort counts shopping agents as shoppers and leaves bots out. The short rule: agents shop, bots don't."}},{"@type":"Question","name":"How does Dynasort tell bots apart from shoppers?","acceptedAnswer":{"@type":"Answer","text":"Dynasort sees every storefront it serves, so it judges each device fingerprint by its behavior across the whole network. A fingerprint with many sessions and zero carts, where those stores' normal rates would predict many carts, is a bot. Dynasort also uses declared identities, signed agent requests (Web Bot Auth), browser windows bigger than the screen they run on, and hosting-network signals."}},{"@type":"Question","name":"Why did my conversion rate go up in Dynasort Insights?","acceptedAnswer":{"@type":"Answer","text":"Because bots no longer pad the session count. Your orders and carts did not change; the number they are divided by got smaller and more honest. At one fashion store where bots were about 30% of sessions, collection conversion rate moved from 0.27% to 0.39%. The Insights timeline marks the day bot filtering started."}},{"@type":"Question","name":"Are older Insights days filtered too?","acceptedAnswer":{"@type":"Answer","text":"Days from October 6, 2026 on are filtered. Earlier days stay as they were, and the Insights timeline marks when filtering began so the change is easy to read."}},{"@type":"Question","name":"Does Dynasort store shopper IP addresses?","acceptedAnswer":{"@type":"Answer","text":"No. Dynasort never stores a shopper's raw IP address. It keeps the country, the network owner, a truncated address and a one-way hash that changes every day. Location data comes from DB-IP Lite, licensed CC BY 4.0."}},{"@type":"Question","name":"Can a real shopper be counted as a bot by mistake?","acceptedAnswer":{"@type":"Answer","text":"A person who adds to cart or checks out is counted as a shopper unless the visit also carries strong automation evidence, like a declared bot identity. The one honest gap: an undeclared assistant that browses and never buys looks exactly like a scraper, so it is counted as a bot. It produced no shopper outcome, so leaving it out does not hide a sale."}}]}</script>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Introducing Dynasort Recommendations</title>
		<link>https://dynasort.io/introducing-dynasort-recommendations/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Mon, 31 Aug 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Collections & Merchandising]]></category>
		<category><![CDATA[Masthead]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=1781</guid>

					<description><![CDATA[One week ago we took Dynasort Search out of soft launch. Today it is Recommendations&#8217; turn. Dynasort Recommendations, our upsell and cross-sell engine, is out of soft launch and available to every store, on every plan, starting now. The short version: the same recipes that already rank your collections and your search results can now [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">One week ago we took Dynasort Search out of soft launch. Today it is Recommendations&#8217; turn. Dynasort Recommendations, our upsell and cross-sell engine, is out of soft launch and available to every store, on every plan, starting now.</p>



<p class="wp-block-paragraph">The short version: the same recipes that already rank your collections and your search results can now pick and rank the products in your &#8220;You may also like&#8221; sections. On your product pages, in your cart, on collection pages, on your home page, and on the one surface almost nobody merchandises: the page your customer sees right after paying.</p>



<h2 class="wp-block-heading">The problem with most recommendation widgets</h2>



<p class="wp-block-paragraph">Most recommendation apps are a black box. You install them, they show something, and you hope it fits. You cannot see why a product was recommended, you cannot tell the widget that your margin matters, or that sold-out sizes should sink, or that the new drop should get a push this week. The logic that runs the most valuable slots on your store is the one piece of merchandising you cannot merchandise.</p>



<p class="wp-block-paragraph">Dynasort has always taken the opposite view. A recipe is a ranking you can read: real signals with weights you control. Recent sales, inventory depth, newness, margin, your own custom attributes. If you can explain your merchandising strategy out loud, you can write it down as a recipe. Recommendations now run on exactly that.</p>



<div class="ds-rlaunch-wrap">
  <style>
    .ds-rlaunch-wrap{max-width:760px;margin:36px auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
    .ds-rlaunch-box{background:#f8f9ff;border:1px solid #e4e2f5;border-radius:14px;padding:26px 28px}
    .ds-rlaunch-title{font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4F46E5;margin:0 0 4px}
    .ds-rlaunch-sub{font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.5}
    .ds-rlaunch-brain{background:#4F46E5;color:#fff;border-radius:12px;padding:16px 20px;text-align:center;font-weight:800;font-size:15px}
    .ds-rlaunch-brain span{display:block;font-weight:600;font-size:12.5px;opacity:.85;margin-top:4px}
    .ds-rlaunch-arrow{text-align:center;color:#a5a1d6;font-size:18px;line-height:1;margin:10px 0}
    .ds-rlaunch-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
    .ds-rlaunch-chip{background:#fff;border:1px solid #e4e2f5;border-radius:10px;padding:12px 10px;text-align:center;font-size:13px;font-weight:700;color:#12102e}
    .ds-rlaunch-chip small{display:block;font-weight:600;font-size:11.5px;color:#6b7280;margin-top:3px}
    .ds-rlaunch-chip.ds-rlaunch-hot{border-color:#4F46E5;background:#eef2ff}
    .ds-rlaunch-foot{font-size:13px;color:#6b7280;margin:20px 0 0;line-height:1.55}
    @media (max-width:620px){.ds-rlaunch-chips{grid-template-columns:1fr 1fr}}
  </style>
  <div class="ds-rlaunch-box">
    <p class="ds-rlaunch-title">One brain, every surface</p>
    <p class="ds-rlaunch-sub">One recommendation recipe, written by you, readable by you, serves every placement you switch on.</p>
    <div class="ds-rlaunch-brain">Your recommendation recipe<span>bought together + recent sales + inventory + newness + margin + your custom signals</span></div>
    <p class="ds-rlaunch-arrow">&#8595; &#8595; &#8595;</p>
    <div class="ds-rlaunch-chips">
      <div class="ds-rlaunch-chip">Product page<small>You May Also Like</small></div>
      <div class="ds-rlaunch-chip">Cart<small>before checkout</small></div>
      <div class="ds-rlaunch-chip">Collection pages<small>below the grid</small></div>
      <div class="ds-rlaunch-chip">Home page<small>Recommended for You</small></div>
      <div class="ds-rlaunch-chip ds-rlaunch-hot">Post-purchase<small>thank-you + order status</small></div>
      <div class="ds-rlaunch-chip">Custom placements<small>anywhere else, five slots</small></div>
    </div>
    <p class="ds-rlaunch-foot">The highlighted one deserves the highlight. The page after checkout is seen by every single buyer at their peak moment of trust, and on most stores it sells nothing.</p>
  </div>
</div>



<h2 class="wp-block-heading">Powered by your own store&#8217;s data</h2>



<p class="wp-block-paragraph">Alongside the merchandising signals you already know from collections, recommendation recipes add seed-aware signals: bought together, viewed together, and added-to-cart together, mined nightly from your own orders and browsing sessions. Plus tag similarity, shared collections, same product type, same vendor, and price proximity, so recommendations stay on-brand even before the purchase history piles up.</p>



<p class="wp-block-paragraph">Every store already has ready-made recipes waiting: Customers Also Bought, Bestsellers You May Like, Trending Now, and High-Value Picks. Use them as they are, or clone one and make it yours. They are ordinary recipes, so every weight is visible and editable.</p>



<h2 class="wp-block-heading">It looks like your store, not like a widget</h2>



<p class="wp-block-paragraph">Recommendation cards support badges, color swatches, compare-at pricing, ratings, hover images, and quick add to cart, all configurable per placement from the Dynasort admin, with a live preview beside every setting. Headings localize to your shopper&#8217;s language automatically. And every serve is tracked, so you can see exactly how many recommendations each surface showed, what got clicked, and what got added to cart, per recipe.</p>



<h2 class="wp-block-heading">Getting started takes two steps</h2>



<ol class="wp-block-list">
<li>Pick a recommendation recipe and bind it to a placement on the Recommendations page in the Dynasort admin.</li>

<li>Add the Dynasort app block where you want it in your theme editor. For the post-purchase surface, add the block in the checkout editor. No code, and just as easy to undo.</li>
</ol>



<p class="wp-block-paragraph">Rather do it together? <strong><a href="https://cal.com/dynasort/training-session" target="_blank" rel="noopener">Book a free setup session</a></strong> and we will configure it with you on a screen share, recipe tuning included.</p>



<h2 class="wp-block-heading">Launch week</h2>



<p class="wp-block-paragraph">This is day one of a week of recommendations content. Tomorrow we open the hood and show exactly how a recommendation gets picked and ranked. Wednesday is the data: what a million real orders say about multi-item baskets, and why the second product view is the whole game. Thursday is a practical guide to recipes, placements, and card settings.</p>



<p class="wp-block-paragraph"><strong><a href="https://dynasort.io/go-install.php?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=recs_launch_aug26&amp;utm_content=day1_install">Install Dynasort free for 30 days</a></strong> or <a href="https://docs.dynasort.io/?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=recs_launch_aug26&amp;utm_content=day1_docs">read the recommendations docs</a>. Already a Dynasort merchant? Recommendations are included on your plan right now, and the <a href="https://cal.com/dynasort/training-session" target="_blank" rel="noopener">setup session</a> is free.</p>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Dynasort Search works: re-ranking, not replacing</title>
		<link>https://dynasort.io/how-dynasort-search-works/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Tue, 25 Aug 2026 09:00:00 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Search & Discovery]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=1595</guid>

					<description><![CDATA[Yesterday we announced Dynasort Search. Today we are opening the hood, because the architecture is the whole story. Dynasort Search is not a second search engine bolted onto your store. It is a re-ranking layer that sits on top of the search engine Shopify already runs for you. Every search is really two jobs When [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Yesterday we announced Dynasort Search. Today we are opening the hood, because the architecture is the whole story. Dynasort Search is not a second search engine bolted onto your store. It is a re-ranking layer that sits on top of the search engine Shopify already runs for you.</p>



<h2 class="wp-block-heading">Every search is really two jobs</h2>



<p class="wp-block-paragraph">When a shopper types &#8220;linen shirt&#8221;, two separate questions need answering. First: which products match? That is membership, and it is genuinely hard. It means handling typos, applying synonyms, and respecting any filters the shopper has applied. Second: in what order should the matches appear? That is ranking, and it is a business question, not a text question.</p>



<p class="wp-block-paragraph">We split the two jobs cleanly. Shopify&#8217;s search engine keeps the membership job: it decides which products match a query, including synonyms, typo handling, and the filters shoppers use to narrow down. Dynasort takes that matched set, scores every product with your active search recipe, and re-orders it. Then we render the results grid and the predictive dropdown in your theme. That is search re-ranking, and it is all we do.</p>



<div class="ds-shiw-wrap">
  <style>
    .ds-shiw-wrap{max-width:760px;margin:36px auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
    .ds-shiw-box{background:#f8f9ff;border:1px solid #e4e2f5;border-radius:14px;padding:26px 28px}
    .ds-shiw-title{font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4F46E5;margin:0 0 4px}
    .ds-shiw-sub{font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.5}
    .ds-shiw-flow{display:flex;align-items:stretch;gap:0}
    .ds-shiw-step{flex:1;background:#fff;border:1px solid #e4e2f5;border-radius:12px;padding:16px 14px;min-width:0}
    .ds-shiw-step.ds-shiw-ours{border-color:#4F46E5;box-shadow:0 0 0 1px #4F46E5 inset}
    .ds-shiw-stepnum{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:#94a3b8;border-radius:4px;padding:2px 7px;margin:0 0 8px}
    .ds-shiw-step.ds-shiw-ours .ds-shiw-stepnum{background:#4F46E5}
    .ds-shiw-stephead{font-size:13px;font-weight:800;color:#12102e;margin:0 0 6px;line-height:1.35}
    .ds-shiw-stepbody{font-size:12px;color:#6b7280;margin:0;line-height:1.5}
    .ds-shiw-sig{display:inline-block;font-size:11px;font-weight:700;color:#3730a3;background:#e0e7ff;border-radius:4px;padding:2px 6px;margin:3px 3px 0 0}
    .ds-shiw-arrow{flex:none;display:flex;align-items:center;padding:0 8px;color:#4F46E5;font-size:18px;font-weight:800}
    .ds-shiw-foot{font-size:13px;color:#6b7280;margin:20px 0 0;line-height:1.55}
    @media (max-width:620px){
      .ds-shiw-flow{flex-direction:column}
      .ds-shiw-arrow{padding:6px 0;justify-content:center;transform:rotate(90deg)}
    }
  </style>
  <div class="ds-shiw-box">
    <p class="ds-shiw-title">One search, four steps</p>
    <p class="ds-shiw-sub">Shopify answers &#8220;what matches&#8221;. Your recipe answers &#8220;in what order&#8221;. Your theme stays your theme.</p>
    <div class="ds-shiw-flow">
      <div class="ds-shiw-step">
        <span class="ds-shiw-stepnum">1</span>
        <p class="ds-shiw-stephead">Shopper searches</p>
        <p class="ds-shiw-stepbody">&#8220;linen shirt&#8221; typed on your storefront, results page or as-you-type.</p>
      </div>
      <div class="ds-shiw-arrow">&#8594;</div>
      <div class="ds-shiw-step">
        <span class="ds-shiw-stepnum">2</span>
        <p class="ds-shiw-stephead">Shopify finds the matches</p>
        <p class="ds-shiw-stepbody">Membership, synonyms, typo handling, and Search &amp; Discovery filters.</p>
      </div>
      <div class="ds-shiw-arrow">&#8594;</div>
      <div class="ds-shiw-step ds-shiw-ours">
        <span class="ds-shiw-stepnum">3</span>
        <p class="ds-shiw-stephead">Your recipe scores them</p>
        <p class="ds-shiw-stepbody"><span class="ds-shiw-sig">recent sales</span><span class="ds-shiw-sig">inventory</span><span class="ds-shiw-sig">newness</span><span class="ds-shiw-sig">margin</span><span class="ds-shiw-sig">custom attributes</span></p>
      </div>
      <div class="ds-shiw-arrow">&#8594;</div>
      <div class="ds-shiw-step ds-shiw-ours">
        <span class="ds-shiw-stepnum">4</span>
        <p class="ds-shiw-stephead">Your order, in your theme</p>
        <p class="ds-shiw-stepbody">Results grid and predictive dropdown rendered with fresh prices and stock.</p>
      </div>
    </div>
    <p class="ds-shiw-foot">No second index, no sync jobs, no migration. If Shopify can find it, Dynasort can rank it.</p>
  </div>
</div>



<h2 class="wp-block-heading">What a search recipe actually scores</h2>



<p class="wp-block-paragraph">A search recipe scores every matching product on the merchandising signals you choose and weight. Out of the box that includes recent sales over the last 7 and 30 days, all-time sales, inventory depth measured in variants in stock, newness measured by the age of the newest variant and days since published, on-sale status, sold-out status, margin, and price.</p>



<p class="wp-block-paragraph">Then there are custom attributes: any product data you can express, you can rank by. Tags, metafields, even a spreadsheet upload. A common recipe choice is sold-out demotion, which pushes sold-out items to the bottom of the results instead of hiding them, so shoppers still find the product but never hit a dead end in slot one.</p>



<h2 class="wp-block-heading">What we deliberately did not build</h2>



<p class="wp-block-paragraph">We could have built our own search engine with its own index of your catalog. We chose not to, and we consider that the best decision in the whole product. Here is what not replacing Shopify&#8217;s engine buys you:</p>



<ul class="wp-block-list">
<li>No index drift. There is no second copy of your catalog to sync, so a product can never exist in one engine and be missing from the other. No sync jobs, no migration, nothing to babysit.</li>

<li>Your synonyms keep working. Anything you configured in Shopify&#8217;s free Search &amp; Discovery app flows through automatically.</li>

<li>Your filters keep working. The filter definitions you set up in Search &amp; Discovery render on the Dynasort results page and narrow results exactly as before.</li>

<li>Nothing to unlearn, and nothing risky to undo. Shopify keeps answering &#8220;what matches&#8221; the way it always has, so removing Dynasort simply returns you to the default order. No re-indexing, no rebuild.</li>
</ul>



<h2 class="wp-block-heading">Fast, and never stale</h2>



<p class="wp-block-paragraph">Both surfaces are built for speed. The full results page re-ranks the complete matched set. The predictive dropdown re-ranks a smaller candidate set, because as-you-type has to feel instant.</p>



<p class="wp-block-paragraph">Ranked results are cached briefly, about 15 minutes per query and recipe, so warm queries serve in tens of milliseconds. The product cards themselves, price and stock included, are always built fresh, so a shopper never sees a stale price or a phantom &#8220;in stock&#8221;. And because the cache is keyed to your recipe version, editing a recipe takes effect immediately. Change a weight, run the search again, see the new order.</p>



<h2 class="wp-block-heading">Honest caveat: new stores start plain</h2>



<p class="wp-block-paragraph">Re-ranking is only as sharp as the data behind it. On a brand-new store with little sales history, many products score the same, and tied scores need a tie-breaker. You can choose &#8220;Shopify relevance&#8221; as that tie-breaker, so on thin data the order gracefully degrades toward Shopify&#8217;s default instead of something arbitrary. The system is designed to degrade gracefully, and it gets sharper as your sales and inventory data accumulate.</p>



<h2 class="wp-block-heading">Every serve is measured</h2>



<p class="wp-block-paragraph">Every search Dynasort serves is logged: which recipe served it, what was shown, what got clicked, and what got added to cart. That powers per-recipe performance stats, and it powers A/B testing, built into Dynasort, where two recipes run head-to-head on live traffic so you can see which order actually sells.</p>



<h2 class="wp-block-heading">Setup is three clicks, not a project</h2>



<p class="wp-block-paragraph">Because there is no index to build, setup is short: activate a search recipe, connect your storefront with one click, and add the app block plus the live search embed in your theme editor. No code. Rather do it on a screen share? <strong><a href="https://cal.com/dynasort/training-session" target="_blank" rel="noopener">Book a free setup session</a></strong> and we will configure it with you.</p>



<p class="wp-block-paragraph"><strong><a href="https://dynasort.io/go-install.php?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=search_launch_aug26&amp;utm_content=day2_install">Install Dynasort free for 30 days</a></strong> or <a href="https://docs.dynasort.io/?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=search_launch_aug26&amp;utm_content=day2_docs">read the search docs</a>. Tomorrow: the data, what fleet-scale search behavior says about default ordering, and how Dynasort Search compares with the other search platforms you have heard of.</p>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Introducing Dynasort Search</title>
		<link>https://dynasort.io/introducing-dynasort-search/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Mon, 24 Aug 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Masthead]]></category>
		<category><![CDATA[Search & Discovery]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=1593</guid>

					<description><![CDATA[Today we are turning on the biggest thing we have ever shipped. Dynasort Search is out of soft launch and available to every store, on every plan, starting now. The short version: the same recipes that already rank your collections can now rank your search results and your predictive search dropdown. Shopify keeps deciding which [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Today we are turning on the biggest thing we have ever shipped. Dynasort Search is out of soft launch and available to every store, on every plan, starting now.</p>



<p class="wp-block-paragraph">The short version: the same recipes that already rank your collections can now rank your search results and your predictive search dropdown. Shopify keeps deciding which products match a shopper&#8217;s search. Dynasort decides the order they come back in.</p>



<h2 class="wp-block-heading">The problem with default search order</h2>



<p class="wp-block-paragraph">Type &#8220;hoodie&#8221; into most Shopify stores and the results come back ranked by text relevance: how well each product&#8217;s title and description match the word &#8220;hoodie&#8221;. Relevance is great at finding the right products. It is terrible at ordering them, because it knows nothing about your business. It does not know which hoodie is your best seller, which one is sold out in every popular size, which one just dropped, or which one carries your margin.</p>



<p class="wp-block-paragraph">So your search results page shows a sold-out product in slot one and your best seller on page two. Shoppers who search are your highest-intent visitors, and default ordering treats them worse than any other page on your store.</p>



<div class="ds-slaunch-wrap">
  <style>
    .ds-slaunch-wrap{max-width:760px;margin:36px auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
    .ds-slaunch-box{background:#f8f9ff;border:1px solid #e4e2f5;border-radius:14px;padding:26px 28px}
    .ds-slaunch-title{font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4F46E5;margin:0 0 4px}
    .ds-slaunch-sub{font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.5}
    .ds-slaunch-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .ds-slaunch-col{background:#fff;border:1px solid #e4e2f5;border-radius:12px;padding:18px}
    .ds-slaunch-colhead{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px}
    .ds-slaunch-colhead.ds-slaunch-before{color:#64748b}
    .ds-slaunch-colhead.ds-slaunch-after{color:#4F46E5}
    .ds-slaunch-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #eceafb;border-radius:8px;margin-top:8px;font-size:13px;color:#12102e;font-weight:600}
    .ds-slaunch-thumb{width:26px;height:26px;border-radius:6px;background:#c7c4ee;flex:none}
    .ds-slaunch-item.ds-slaunch-dead{opacity:.55}
    .ds-slaunch-item.ds-slaunch-dead .ds-slaunch-thumb{background:#d7d5e8}
    .ds-slaunch-tag{margin-left:auto;font-size:11px;font-weight:800;border-radius:4px;padding:2px 6px;white-space:nowrap}
    .ds-slaunch-tag.ds-slaunch-oos{background:#f1f0f6;color:#64748b}
    .ds-slaunch-tag.ds-slaunch-best{background:#4F46E5;color:#fff}
    .ds-slaunch-tag.ds-slaunch-new{background:#e0e7ff;color:#3730a3}
    .ds-slaunch-foot{font-size:13px;color:#6b7280;margin:20px 0 0;line-height:1.55}
    @media (max-width:620px){.ds-slaunch-cols{grid-template-columns:1fr}}
  </style>
  <div class="ds-slaunch-box">
    <p class="ds-slaunch-title">The same search for &#8220;hoodie&#8221;</p>
    <p class="ds-slaunch-sub">Same six matching products. Shopify finds them both times. The only thing that changes is the order.</p>
    <div class="ds-slaunch-cols">
      <div class="ds-slaunch-col">
        <p class="ds-slaunch-colhead ds-slaunch-before">Default order</p>
        <div class="ds-slaunch-item ds-slaunch-dead"><span class="ds-slaunch-thumb"></span>Classic Hoodie<span class="ds-slaunch-tag ds-slaunch-oos">sold out</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Hoodie Basic Grey</div>
        <div class="ds-slaunch-item ds-slaunch-dead"><span class="ds-slaunch-thumb"></span>Hoodie 2019 Promo<span class="ds-slaunch-tag ds-slaunch-oos">2 sizes left</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Heavyweight Hoodie<span class="ds-slaunch-tag ds-slaunch-best">best seller</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Fleece Hoodie<span class="ds-slaunch-tag ds-slaunch-new">new</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Zip Hoodie</div>
      </div>
      <div class="ds-slaunch-col">
        <p class="ds-slaunch-colhead ds-slaunch-after">Your recipe&#8217;s order</p>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Heavyweight Hoodie<span class="ds-slaunch-tag ds-slaunch-best">best seller</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Fleece Hoodie<span class="ds-slaunch-tag ds-slaunch-new">new</span></div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Hoodie Basic Grey</div>
        <div class="ds-slaunch-item"><span class="ds-slaunch-thumb"></span>Zip Hoodie</div>
        <div class="ds-slaunch-item ds-slaunch-dead"><span class="ds-slaunch-thumb"></span>Hoodie 2019 Promo<span class="ds-slaunch-tag ds-slaunch-oos">2 sizes left</span></div>
        <div class="ds-slaunch-item ds-slaunch-dead"><span class="ds-slaunch-thumb"></span>Classic Hoodie<span class="ds-slaunch-tag ds-slaunch-oos">sold out</span></div>
      </div>
    </div>
    <p class="ds-slaunch-foot">Best seller first, newest next, dead ends demoted to the bottom. That is one recipe. Yours can weigh sales, inventory, margin, newness, or any custom signal you build.</p>
  </div>
</div>



<h2 class="wp-block-heading">What Dynasort Search does</h2>



<p class="wp-block-paragraph">Dynasort Search re-ranks two surfaces: the search results page and the predictive dropdown that appears while a shopper types. Both are driven by a search recipe, the same kind of recipe you already use on collections, with signals like recent sales, inventory depth, newness, margin, and your own custom attributes.</p>



<p class="wp-block-paragraph">The part we are most proud of is what it does not do. Dynasort Search does not replace Shopify&#8217;s search engine, and that is a deliberate choice. Shopify still decides which products match a query, which means:</p>



<ul class="wp-block-list">
<li>Your synonyms keep working. Anything you set up in Shopify&#8217;s free Search &amp; Discovery app flows straight through.</li>



<li>Your filters keep working. The filter definitions you configured in Search &amp; Discovery render right on the Dynasort results page and narrow results exactly as before.</li>



<li>There is no second search index to sync, no migration, and no risk of a product existing in one engine but not the other.</li>



<li>Zero performance impact on your store, theme, and search results.</li>
</ul>



<p class="wp-block-paragraph">If a shopper searched your store yesterday, the same search works today. The only thing that changes is that the order finally makes business sense.</p>



<h2 class="wp-block-heading">It looks like your store, not like a widget</h2>



<p class="wp-block-paragraph">Result cards support badges, color swatches, compare-at pricing, ratings, hover images, and quick add to cart, all configurable from the Dynasort admin, and all styled to be overridable with your own theme CSS. The predictive dropdown matches your theme&#8217;s look. Every serve is tracked, so you can see exactly how many searches Dynasort handled, what got clicked, and what got added to cart.</p>



<h2 class="wp-block-heading">Getting started takes three steps</h2>



<ol class="wp-block-list">
<li>Activate a search recipe in the Dynasort admin. Every store already has ready-made defaults waiting, including Relevant &amp; Popular and In-Stock Bestsellers.</li>



<li>Connect your storefront with one click on the Search page.</li>



<li>Add the Dynasort Search app block in your theme editor and toggle the live search embed. No code, and it is just as easy to undo.</li>
</ol>



<p class="wp-block-paragraph">Rather do it together? <strong><a href="https://cal.com/dynasort/training-session" target="_blank" rel="noopener">Book a free setup session</a></strong> and we will configure it with you on a screen share, recipe tuning included.</p>



<h2 class="wp-block-heading">Launch week</h2>



<p class="wp-block-paragraph">This is day one of a week of search content. Tomorrow we will open the hood and show exactly how the re-ranking works. Wednesday is the data: what fleet-scale search behavior says about default ordering, and how Dynasort Search compares with the other search platforms you have heard of. Thursday is a practical guide to getting the most out of search recipes and result cards.</p>



<p class="wp-block-paragraph"><strong><a href="https://dynasort.io/go-install.php?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=search_launch_aug26&amp;utm_content=day1_install">Install Dynasort free for 30 days</a></strong> or <a href="https://docs.dynasort.io/?utm_source=dynasort_io&amp;utm_medium=website&amp;utm_campaign=search_launch_aug26&amp;utm_content=day1_docs">read the search docs</a>. Already a Dynasort merchant? Search is included on your plan right now, and the <a href="https://cal.com/dynasort/training-session" target="_blank" rel="noopener">setup session</a> is free.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Dynasort now ranks your search, recommendations, and post-purchase. Not just your collections.</title>
		<link>https://dynasort.io/dynasort-now-ranks-your-search-recommendations-and-post-purchase-not-just-your-collections/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Wed, 15 Jul 2026 17:50:03 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Features Deployed]]></category>
		<category><![CDATA[Masthead]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Shopify]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=1003</guid>

					<description><![CDATA[For four years, Dynasort has done one job well: putting the right products at the top of your collections. Today that job gets three times bigger. Starting now, Dynasort ranks your products everywhere shoppers decide what to click next: Search re-ranking trail hats &#8593; ranked up Shopify finds the matches. Dynasort orders them by what [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">For four years, Dynasort has done one job well: putting the right products at the top of your collections. Today that job gets three times bigger.</p>



<p class="wp-block-paragraph">Starting now, Dynasort ranks your products everywhere shoppers decide what to click next:</p>



<div class="v2bp-surfaces" aria-hidden="true">
  <div class="v2bp-card">
    <div class="v2bp-card-head">Search re-ranking</div>
    <div class="v2bp-searchbar">trail hats</div>
    <div class="v2bp-row"><span class="v2bp-sq hot"></span><span class="v2bp-bar" style="width:70%"></span><span class="v2bp-up">&#8593; ranked up</span></div>
    <div class="v2bp-row"><span class="v2bp-sq"></span><span class="v2bp-bar" style="width:55%"></span></div>
    <div class="v2bp-row"><span class="v2bp-sq"></span><span class="v2bp-bar" style="width:62%"></span></div>
    <div class="v2bp-cap">Shopify finds the matches. Dynasort orders them by what sells.</div>
  </div>
  <div class="v2bp-card">
    <div class="v2bp-card-head">Recommendations</div>
    <div class="v2bp-tiles">
      <div class="v2bp-tile hot"><div class="img"></div><div class="ln" style="width:80%"></div><div class="ln" style="width:45%"></div></div>
      <div class="v2bp-tile"><div class="img"></div><div class="ln" style="width:70%"></div><div class="ln" style="width:50%"></div></div>
      <div class="v2bp-tile"><div class="img"></div><div class="ln" style="width:85%"></div><div class="ln" style="width:40%"></div></div>
    </div>
    <div class="v2bp-cap">Customers Also Bought, anywhere in your theme.</div>
  </div>
  <div class="v2bp-card">
    <div class="v2bp-card-head">Post-purchase</div>
    <div class="v2bp-confirm"><span class="v2bp-check">&#10003;</span> Order confirmed</div>
    <div class="v2bp-tiles">
      <div class="v2bp-tile hot"><div class="img"></div><div class="ln" style="width:75%"></div><span class="v2bp-offerbtn">Add to order</span></div>
    </div>
    <div class="v2bp-cap">A ranked offer on the one page every buyer sees.</div>
  </div>
</div>



<p class="wp-block-paragraph"><strong>Search re-ranking.</strong>&nbsp;Shopify decides which products match a search. Dynasort decides which ones deserve the top of the page. Your search results and your live-search dropdown are re-ranked on every request by the same recipes you already use for collections: real sales, real clicks, real margin, not just keyword matches. Here is why that matters: in 188,000 real storefront search clicks we analyzed, fewer than a third went to the first result, and nearly half went past the top three. Shoppers are digging for products that should have been in front of them.</p>



<figure class="v2bp-clicks">
  <div class="v2bp-clicks-title">Where 188,000 real search clicks landed</div>
  <div class="v2bp-cbar">
    <div class="v2bp-cbar-label"><span>First result</span><strong>28.5%</strong></div>
    <div class="v2bp-cbar-track"><div class="v2bp-cbar-fill deep" style="width:28.5%"></div></div>
  </div>
  <div class="v2bp-cbar">
    <div class="v2bp-cbar-label"><span>Results two and three</span><strong>22.1%</strong></div>
    <div class="v2bp-cbar-track"><div class="v2bp-cbar-fill" style="width:22.1%"></div></div>
  </div>
  <div class="v2bp-cbar">
    <div class="v2bp-cbar-label"><span>Past the top three</span><strong>49.4%</strong></div>
    <div class="v2bp-cbar-track"><div class="v2bp-cbar-fill alert" style="width:49.4%"></div></div>
  </div>
  <div class="v2bp-cap">365 days of storefront search clicks across live Dynasort stores. When half of all clicks dig past the top three, the order is the problem.</div>
</figure>



<p class="wp-block-paragraph"><strong>Product recommendations.</strong>&nbsp;A &#8220;you may also like&#8221; that actually knows. Ranked rows like Customers Also Bought, built from your store&#8217;s own purchase patterns, placed anywhere in your theme: product page, cart, home page, or custom placements. Add the block in your theme editor, bind a recipe, done.</p>



<p class="wp-block-paragraph"><strong>Post-purchase offers.</strong>&nbsp;The order confirmation page is the one page every buyer sees, and most stores show nothing there. Dynasort serves a ranked offer the moment the order completes.</p>



<h2 class="wp-block-heading">Ranked live, measured honestly</h2>



<p class="wp-block-paragraph">Search and recommendations rank live on every request. Every serve is measured: you see serves, clicks, adds, and checkouts per recipe, right next to the collection insights you already have. If a surface is not earning, the numbers will tell you.</p>



<div class="v2bp-funnel" aria-hidden="true">
  <span class="v2bp-funnel-step">Serve</span><span class="v2bp-funnel-arrow">&#8594;</span>
  <span class="v2bp-funnel-step">Click</span><span class="v2bp-funnel-arrow">&#8594;</span>
  <span class="v2bp-funnel-step">Add to cart</span><span class="v2bp-funnel-arrow">&#8594;</span>
  <span class="v2bp-funnel-step">Checkout</span>
  <span class="v2bp-funnel-cap">Counted per recipe and per placement, next to the collection insights you already have.</span>
</div>



<h2 class="wp-block-heading">On every plan, including yours</h2>



<p class="wp-block-paragraph">All three surfaces are live today on every Dynasort plan, with a monthly serving allowance sized to your tier. Nothing you have configured changes; the new surfaces are additive. Open the app and you will find a Search page and a Recommendations page waiting, each with seeded recipes so you can activate in minutes:</p>



<ol class="wp-block-list">
<li>Search: pick a recipe, click Connect storefront, add the search block.</li>



<li>Recommendations: bind a recipe to a placement, add the Dynasort block where you want the row.</li>



<li>Post-purchase: bind the post-purchase placement, add the extension in checkout settings.</li>
</ol>



<p class="wp-block-paragraph">The docs walk through every step:&nbsp;<a href="https://docs.dynasort.io/" target="_blank" rel="noreferrer noopener">https://docs.dynasort.io/</a></p>



<h2 class="wp-block-heading">The same promise, three more places</h2>



<p class="wp-block-paragraph">Shopify decides what shows up. Dynasort decides what shows up first. That has been true for your collections since day one. From today it is true for search, recommendations, and the thank-you page too.</p>



<p class="wp-block-paragraph"><a href="https://apps.shopify.com/dynasort" data-type="link" data-id="https://apps.shopify.com/dynasort" target="_blank" rel="noopener">Install Dynasort free for 30 days</a></p>



<p class="wp-block-paragraph"><a href="https://docs.dynasort.io/" data-type="link" data-id="https://docs.dynasort.io/">Read the docs</a></p>



<p class="wp-block-paragraph"></p>




<p><em>Reference version of this post, with the full click data and methodology: <a href="https://claude.ai/code/artifact/dd515ad6-1119-4005-bd35-ae7a4cb14625" target="_blank" rel="noopener">Where Storefront Search Clicks Land</a></em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Weekly Recommendations: your store&#8217;s data, reviewed every Monday</title>
		<link>https://dynasort.io/weekly-recommendations-your-stores-data-reviewed-every-monday/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 13:11:09 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Features Deployed]]></category>
		<category><![CDATA[Masthead]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Shopify Collection Merchandising]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=998</guid>

					<description><![CDATA[Dynasort has always been a set-and-forget app. You build recipes, assign them to collections, and the sorting runs itself. That&#8217;s the point, but it has a cost. Once things work, nobody looks at them again. And stores change: catalogs grow, traffic shifts, a collection that converted well in March quietly stops converting in June. The [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Dynasort has always been a set-and-forget app. You build recipes, assign them to collections, and the sorting runs itself.</p>



<p class="wp-block-paragraph">That&#8217;s the point, but it has a cost. Once things work, nobody looks at them again. And stores change: catalogs grow, traffic shifts, a collection that converted well in March quietly stops converting in June. The data to catch all of this has been sitting in your Insights the whole time. Someone just has to read it every week.</p>



<p class="wp-block-paragraph">Now something does.</p>



<h3 class="wp-block-heading">What it is</h3>



<p class="wp-block-paragraph">Weekly Recommendations is a new card on your Dynasort dashboard, included on every paid plan. Every Monday morning it reviews your store&#8217;s own data and posts 3 to 6 prioritized recommendations: specific, quantified, and each linked to the exact place in Dynasort where you act on it.</p>



<p class="wp-block-paragraph">Not &#8220;improve your product pages.&#8221; More like: &#8220;This collection drew 8,500 sessions in the last 28 days but converts at a third of your store average, and it still runs your generic default recipe. Here is the recipe that&#8217;s outperforming everything else. Consider assigning it.&#8221;</p>



<h3 class="wp-block-heading">What it looks at</h3>



<p class="wp-block-paragraph">Each week&#8217;s review covers your last 28 days and how they compare to the 28 before, including:</p>



<ul class="wp-block-list">
<li>Enabled collections converting well below your store average, ranked by traffic so the highest-impact fixes come first</li>



<li>Collections whose conversion or revenue dropped sharply this week versus last</li>



<li>Enabled collections with no recipe assigned, and high-traffic collections still on the default recipe</li>



<li>Recipes that haven&#8217;t been touched in months while their collections decline</li>



<li>Your best-performing recipe, and the laggard collections that aren&#8217;t using it</li>



<li>Collections where shoppers add to cart normally but complete purchase far less than average, which usually points to price, shipping, or stock rather than sorting. When that&#8217;s the story, it says so.</li>



<li>Plan features you already pay for but aren&#8217;t using, like A/B testing, suggested only when your data indicates they&#8217;d help</li>



<li>Tracking anomalies. In our first week, it flagged two stores whose orders mostly bypass the online storefront, which makes conversion look artificially low. Knowing that is worth more than any sorting tweak.</li>
</ul>



<p class="wp-block-paragraph">Every number it quotes is your own, pulled from the same Insights data you already see in the app. It cannot invent statistics and it cannot link to things that don&#8217;t exist in your store. If your store is new and doesn&#8217;t have enough traffic yet, it says so and waits.</p>



<h3 class="wp-block-heading">It learns what you want</h3>



<p class="wp-block-paragraph">Every recommendation has three controls: mark it done, dismiss it, or rate it with a thumbs up or down. That feedback feeds the next week&#8217;s review. Dismissed recommendations don&#8217;t come back unless the underlying number gets meaningfully worse. Thumbs tell it which categories of advice you want more of and which to drop.</p>



<p class="wp-block-paragraph">And it writes in your language. If you run your Shopify admin in German, Czech, Hebrew, or any of the other languages Dynasort supports, the recommendations arrive in that language, quoting revenue in your currency.</p>



<h3 class="wp-block-heading">What it costs</h3>



<p class="wp-block-paragraph">Nothing extra. Weekly Recommendations is included on all paid plans, from Basic up. There&#8217;s nothing to install or configure: if you&#8217;re on a paid plan, it&#8217;s already on your dashboard.</p>



<p class="wp-block-paragraph">If you&#8217;re evaluating Dynasort, every paid plan starts with a 30-day free trial.</p>



<p class="wp-block-paragraph"><strong><a href="https://dynasort.io/" target="_blank" rel="noreferrer noopener">Start your free trial</a></strong>&nbsp;or&nbsp;<strong><a href="https://dynasort.io/" target="_blank" rel="noreferrer noopener">book a demo</a></strong>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Most Clicked Products: Every Collection Learns From Its Own Shoppers</title>
		<link>https://dynasort.io/most-clicked-products-every-collection-learns-from-its-own-shoppers/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 16:36:56 +0000</pubDate>
				<category><![CDATA[Features Deployed]]></category>
		<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Masthead]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=753</guid>

					<description><![CDATA[Sales data is the gold standard for sorting products. It&#8217;s also sparse and slow. A typical collection might convert a handful of times a week. That&#8217;s not enough signal to confidently rank forty products against each other — you&#8217;d be sorting on noise. So merchants either wait for sales data to slowly accumulate, or they [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sales data is the gold standard for sorting products. It&#8217;s also sparse and slow.</p>



<p class="wp-block-paragraph">A typical collection might convert a handful of times a week. That&#8217;s not enough signal to confidently rank forty products against each other — you&#8217;d be sorting on noise. So merchants either wait for sales data to slowly accumulate, or they sort on something else and hope.</p>



<p class="wp-block-paragraph">Meanwhile, shoppers are voting constantly, with a much faster signal: what they click. The new Most Clicked Products attribute turns that signal into sort order. And it does something no Dynasort attribute has done before.</p>



<p class="wp-block-paragraph"><strong>### Every collection, its own ranking</strong></p>



<p class="wp-block-paragraph">This is the first Dynasort attribute that scores differently in every collection, even when those collections share the same recipe.</p>



<p class="wp-block-paragraph">That&#8217;s worth sitting with for a second, because most &#8220;sort by popularity&#8221; features treat popularity as one store-wide number. Every collection inherits the same global list. But the same product can be a star in one collection and wallpaper in another, and a single popularity score can&#8217;t capture that.</p>



<p class="wp-block-paragraph">Here&#8217;s a concrete example. Collection X and Collection Y both run your &#8220;Engagement&#8221; recipe. In Collection X, Product A is the most-clicked item. In Collection Y, Product B leads. With Most Clicked Products in the recipe, Product A rises to the top of X while Product B rises to the top of Y — automatically, from that one shared recipe. You don&#8217;t build two recipes. You build one, and each collection adapts to its own audience.</p>



<p class="wp-block-paragraph"><strong>### How the scoring works</strong></p>



<p class="wp-block-paragraph">The merchant picks two things: a timeframe (24 hours to 90 days) for the click-counting window, and how many top products earn points (default 10). The collection&#8217;s click leader gets the attribute&#8217;s full point weight, second place gets a bit less, and so on down to the last qualifying spot. With the default top 10, first place earns 100% of the points, second earns 90%, sliding to 10th at 10%. Everything below the top 10 earns nothing from this attribute.</p>



<p class="wp-block-paragraph">Crucially, points scale by rank, not by raw click counts. This is a deliberate design choice, and it solves a real problem.</p>



<p class="wp-block-paragraph">Raw clicks vary wildly between collections. A niche collection&#8217;s leader might get 40 clicks in a month while a flagship collection&#8217;s leader gets 4,000. If you scored on raw counts or fixed thresholds, you&#8217;d have to tune the attribute differently for every collection, and a single runaway product could flatten all the meaningful differences among everything below it. Rank-based scoring sidesteps all of that. It behaves identically in the niche collection and the flagship, with nothing to configure per collection, and the relative ordering stays meaningful no matter the absolute volume.</p>



<p class="wp-block-paragraph"><strong>### A trending collection that maintains itself</strong></p>



<p class="wp-block-paragraph">As a Managed Collection condition, the attribute (there called Product Clicks) uses a product&#8217;s total clicks across your whole store. That makes a &#8220;Trending Now&#8221; collection a one-condition setup: for example, products with more than 50 clicks in the last 7 days. Products join the collection as they gain attention and drop out automatically as that attention fades. It&#8217;s a storefront merchandising surface that tracks this week&#8217;s demand without anyone touching it.</p>



<p class="wp-block-paragraph"><strong>### Where it shines</strong></p>



<p class="wp-block-paragraph">The most obvious win is for stores with lower sales volume. Clicks accumulate far faster than orders, so your sorting gets smart long before sales data could tell you anything reliable. If you&#8217;ve been frustrated that sales-based sorting feels random on your smaller collections, this gives those collections a dense signal to work with.</p>



<p class="wp-block-paragraph">It&#8217;s also a merchandising blind-spot finder. The product you assume is your hero, versus the product shoppers actually click, are not always the same thing, and this attribute surfaces the gap. And with a short window like 7 days, your collections follow seasonal demand automatically, leaning into a holiday as interest builds and easing back out as it passes.</p>



<p class="wp-block-paragraph"><strong>### An honest word on feedback loops</strong></p>



<p class="wp-block-paragraph">There&#8217;s a dynamic worth being upfront about: clicks at the top of a collection tend to beget more clicks. A product that&#8217;s surfaced gets seen, gets clicked, and that click reinforces its position. Left unchecked, that can become a feedback loop where early attention compounds into permanent placement regardless of merit.</p>



<p class="wp-block-paragraph">The right way to use this attribute is as one input among several, not the whole sort. Balance it with merchandising attributes like margin, inventory, and newness. Engagement is valuable information about what your shoppers find interesting, but it works best when it informs the sort rather than dictating it. Sophisticated merchants will recognize this immediately, and the attribute is built to be weighted alongside everything else precisely so you can strike that balance.</p>



<p class="wp-block-paragraph"><strong>### A few more notes</strong></p>



<p class="wp-block-paragraph">Click data updates periodically through the day, not in real time, so expect influence within hours rather than instantly. Brand-new or very low-traffic collections have no click history yet, so the attribute contributes nothing there until shoppers arrive — your other recipe attributes carry the sort in the meantime.</p>



<p class="wp-block-paragraph"><strong>### Pairs with Back In Stock</strong></p>



<p class="wp-block-paragraph">Most Clicked Products shipped the same day as the Back In Stock attribute, and they&#8217;re natural partners. One captures attention, the other captures availability. Used together, your collections stay both interesting and buyable: the products people are clicking rise, and the products that just came back in stock rise, so shoppers see things they want and can actually buy.</p>



<p class="wp-block-paragraph"><strong>### Available now</strong></p>



<p class="wp-block-paragraph">Most Clicked Products is live today on all plans, as a standard attribute. Add it to a recipe to give each collection its own audience-driven ranking, or use it as a Managed Collection condition to build a self-maintaining trending collection.</p>



<p class="wp-block-paragraph">Questions or feedback: hello@dynasort.io or in-app chat.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Back In Stock Attribute: Surface Restocked Products While Demand Is Still Hot</title>
		<link>https://dynasort.io/the-back-in-stock-attribute-surface-restocked-products-while-demand-is-still-hot/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Thu, 11 Jun 2026 17:02:31 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Features Deployed]]></category>
		<category><![CDATA[Masthead]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=752</guid>

					<description><![CDATA[When a product sells out, the demand for it doesn&#8217;t sell out with it. Shoppers saw it, wanted it, and left. That demand is still there, waiting. The question is whether your store does anything useful with it when the product comes back. For most stores, the answer is no — and not because anyone [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">When a product sells out, the demand for it doesn&#8217;t sell out with it. Shoppers saw it, wanted it, and left. That demand is still there, waiting. The question is whether your store does anything useful with it when the product comes back.</p>



<p class="wp-block-paragraph">For most stores, the answer is no — and not because anyone decided that. It&#8217;s just what happens by default.</p>



<p class="wp-block-paragraph"><strong>### The problem nobody has time to solve</strong></p>



<p class="wp-block-paragraph">While a product is out of stock, it tends to sink in your collection&#8217;s sort order. It&#8217;s not selling, it&#8217;s not converting, so whatever logic orders your collection pushes it down. That&#8217;s reasonable while it&#8217;s unbuyable.</p>



<p class="wp-block-paragraph">The trouble is what happens when it returns. The product comes back in stock and lands wherever it sank — often several pages deep. So at the exact moment back-in-stock demand is highest, your returning bestseller is facing the shoppers least likely to ever see it.</p>



<p class="wp-block-paragraph">The fix has always been manual: remember that the product restocked, go into the collection, and pin it to the top. Then do that for every collection it belongs to. Then do it again for the next product that restocks, and the next. Across a real catalog, nobody keeps up with this. The restock window quietly passes with the product buried.</p>



<p class="wp-block-paragraph"><strong>### What the Back In Stock attribute does</strong></p>



<p class="wp-block-paragraph">Back In Stock is a new Dynasort attribute that detects when a product returns to stock and automatically boosts it in your sorted collections for a window you choose, anywhere from 24 hours to 90 days.</p>



<p class="wp-block-paragraph">Dynasort continuously monitors inventory levels and records a restock event whenever an item crosses from out of stock back to in stock. Any product with a recent qualifying restock gets the attribute&#8217;s full boost in any recipe that includes it. No tagging, no manual pinning, no spreadsheets, no remembering.</p>



<p class="wp-block-paragraph"><strong>### The returns filter: the part that matters</strong></p>



<p class="wp-block-paragraph">Here&#8217;s the detail that separates this from a naive implementation.</p>



<p class="wp-block-paragraph">A customer return puts a unit or two back on the shelf. Technically, that takes a product from zero units to &#8220;in stock&#8221; — which means a simple back-in-stock boost would fire on it. You&#8217;d end up promoting a product that has two returned units and is, for all practical purposes, still sold out. Worse, it would happen constantly, on every minor return across your catalog.</p>



<p class="wp-block-paragraph">Dynasort handles this with a minimum restock quantity setting, defaulting to 3 units. A restock smaller than that threshold is ignored. Only genuine replenishments — the kind that mean a product is actually buyable again — trigger the boost.</p>



<p class="wp-block-paragraph">This is the kind of logic you only think to build if you&#8217;ve actually lived with inventory data. &#8220;Back in stock sorting&#8221; is easy to claim. Not firing on a single returned unit is the part that proves the feature was built by people who understand how stock really moves.</p>



<p class="wp-block-paragraph"><strong>### You decide what &#8220;back&#8221; means</strong></p>



<p class="wp-block-paragraph">There are two detection modes.</p>



<p class="wp-block-paragraph">Entire product back in stock fires when a product that was completely sold out has stock again. This is the default, and it matches what most shoppers mean when they say something is &#8220;back.&#8221;</p>



<p class="wp-block-paragraph">Any variant back in stock fires when an individual variant returns — a popular size, a sold-out color. This is useful for stores where a single variant coming back is itself worth promoting.</p>



<p class="wp-block-paragraph">Configuration is three fields in total: the timeframe (how recent the restock must be), the detection mode (entire product or any variant), and the minimum restock quantity (the returns filter). That&#8217;s the whole setup.</p>



<p class="wp-block-paragraph"><strong>### One signal, two surfaces</strong></p>



<p class="wp-block-paragraph">Because Back In Stock is a standard Dynasort attribute, it works everywhere attributes work.</p>



<p class="wp-block-paragraph">Inside a recipe, it&#8217;s weighted alongside everything else you sort by — sales, margin, newness, clicks, behavioral signals. A restocked product that shoppers were already viewing and adding to cart gets compound priority, surfacing for exactly the reasons you&#8217;d want it to.</p>



<p class="wp-block-paragraph">As a Managed Collection condition, it lets you build a self-maintaining &#8220;Back In Stock&#8221; collection on your storefront. You set it up once with a single condition: products join the collection when they restock and drop out automatically as the event ages past your window. It&#8217;s a merchandising surface that maintains itself.</p>



<p class="wp-block-paragraph">You can also layer recency. Stack a high-weight 7-day instance with a low-weight 30-day instance, and the boost steps down gracefully as the restock ages — strong while the product just came back, tapering as the moment cools.</p>



<p class="wp-block-paragraph"><strong>### A few honest notes</strong></p>



<p class="wp-block-paragraph">Detection follows your store&#8217;s regular data sync schedule, so a restock is reflected within minutes to about an hour, not literally the instant it happens. Restock history starts accumulating from June 2026, which means the longest windows (60 and 90 days) reach full usefulness once that much history has built up. And products that don&#8217;t track inventory in Shopify never trigger the attribute, which is the correct behavior but worth knowing.</p>



<p class="wp-block-paragraph"><strong>### Available now</strong></p>



<p class="wp-block-paragraph">The Back In Stock attribute is live today on all plans, as a standard attribute. Add it to a recipe, or use it as a Managed Collection condition — or both.</p>



<p class="wp-block-paragraph">Questions or feedback: hello@dynasort.io or in-app chat.</p>



<p class="wp-block-paragraph"><strong>&#8212;</strong></p>



<p class="wp-block-paragraph"><em>*Install Dynasort free on the Shopify App Store at [</em><em>dynasort.io</em><em>](</em>https://dynasort.io<em>)*</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Dynasort Insights, Reworked: See Exactly What Moved Your Numbers</title>
		<link>https://dynasort.io/dynasort-insights-reworked-see-exactly-what-moved-your-numbers/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Fri, 05 Jun 2026 17:52:29 +0000</pubDate>
				<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Features Deployed]]></category>
		<category><![CDATA[Masthead]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=746</guid>

					<description><![CDATA[For a long time, Dynasort could tell you what your numbers were. It couldn&#8217;t tell you their story. &#8220;Conversion rate is 2.3% over the last 30 days&#8221; is a fact. But it&#8217;s a fact with no context. Is 2.3% good for this collection? Is it up or down? Did it move because of the recipe [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">For a long time, Dynasort could tell you what your numbers were. It couldn&#8217;t tell you their story.</p>



<p class="wp-block-paragraph">&#8220;Conversion rate is 2.3% over the last 30 days&#8221; is a fact. But it&#8217;s a fact with no context. Is 2.3% good for this collection? Is it up or down? Did it move because of the recipe you swapped two weeks ago, or the pins you added last Tuesday, or nothing you did at all? The old Insights left you to answer those questions yourself, usually by exporting data and guessing.</p>



<p class="wp-block-paragraph">We rebuilt Insights so it answers them for you. This is the largest performance-visibility update we&#8217;ve shipped, and it spans six connected features.</p>



<h3 class="wp-block-heading">Metrics Timeline, on everything</h3>



<p class="wp-block-paragraph">The centerpiece is the Metrics Timeline, now at the bottom of every collection, product, and recipe page. It charts your key rates — conversion, add-to-cart, exit, and bounce — over time.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="803" src="https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM-1024x803.png" alt="" class="wp-image-748" srcset="https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM-1024x803.png 1024w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM-300x235.png 300w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM-768x602.png 768w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM-1536x1204.png 1536w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.46.10-PM.png 1628w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">What makes it more than just a chart is what&#8217;s plotted alongside the curve: change markers. Every time you swapped a recipe, added a pin, adjusted attribute weights, started or stopped an A/B test, or made any of a dozen other meaningful configuration changes, a marker appears on the timeline at that exact moment.</p>



<p class="wp-block-paragraph">This is the difference between seeing a number and understanding it. If your conversion rate climbed over the last two weeks, you can now see whether that climb started the day you swapped recipes — or whether it was already happening and your change had nothing to do with it. Cause and effect, on the same chart.</p>



<h3 class="wp-block-heading">A dashboard, not a settings panel</h3>



<p class="wp-block-paragraph">Open Dynasort now and the first thing you see is a store-wide performance timeline for the last seven days. Below it sit three Top Movers panels: your top collections, top products, and top recipes.</p>



<p class="wp-block-paragraph">We chose &#8220;movers&#8221; deliberately. It&#8217;s not just a list of your best performers frozen in place — it surfaces what&#8217;s changing, in both directions. Each tile shows a thumbnail trend chart, the current conversion rate, and a colored arrow indicating the percentage change versus the prior week. Green arrows mark wins worth repeating. Red arrows flag problems worth fixing. Click any tile to drill into that entity&#8217;s full timeline.</p>



<p class="wp-block-paragraph">The point is that you no longer have to hunt for what&#8217;s working or what&#8217;s slipping. The app puts it in front of you the moment you open it.</p>



<h3 class="wp-block-heading">Stop guessing whether you&#8217;re improving</h3>



<p class="wp-block-paragraph">The Insights page now opens with a six-KPI strip: sessions, conversions, conversion rate, cart rate, exit rate, and bounce rate. Each shows the value for your selected window plus a colored arrow showing how it compares to the equivalent prior window.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="389" src="https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-1024x389.png" alt="" class="wp-image-749" srcset="https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-1024x389.png 1024w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-300x114.png 300w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-768x291.png 768w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-1536x583.png 1536w, https://dynasort.io/wp-content/uploads/2026/06/Screenshot-2026-06-05-at-1.51.32-PM-2048x777.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Pick &#8220;30 days&#8221; and you immediately see how the last 30 days stack up against the 30 before them. The arrows handle the directional intuition for you — conversion rate up is green, exit rate up is red. &#8220;Are we trending up?&#8221; used to mean exporting data to a spreadsheet and building a comparison by hand. Now it&#8217;s the first thing you see.</p>



<h3 class="wp-block-heading">A change log you don&#8217;t have to maintain</h3>



<p class="wp-block-paragraph">Below every timeline chart is a chronological list of every meaningful configuration change: what changed, when, and by how much. Attribute weight bumps, A/B test starts and stops, manual sorts, pin updates, recipe swaps — all named with the friendly attribute and recipe names you actually use, not internal IDs.</p>



<p class="wp-block-paragraph">For teams sharing Dynasort access, this is a shared audit trail. You can see what a colleague changed and tie it directly to the movement in the metrics above it. For solo merchants, it&#8217;s a changelog you get for free instead of trying to remember what you did and when.</p>



<h3 class="wp-block-heading">Recipe performance that&#8217;s actually trustworthy</h3>



<p class="wp-block-paragraph">Recipe pages get the same timeline treatment, with one subtle but important detail handled correctly: time-accurate attribution.</p>



<p class="wp-block-paragraph">If you moved a collection from Recipe A to Recipe B last Tuesday, Recipe A&#8217;s history correctly shows the traffic from before Tuesday, and Recipe B shows the traffic after. The data reflects what was actually true at each point in time, rather than taking today&#8217;s recipe assignments and projecting them backward across the whole history. That means when you compare two recipes, you&#8217;re comparing real performance, not an artifact of who happens to be assigned where right now.</p>



<h3 class="wp-block-heading">Click a row, land on the chart</h3>



<p class="wp-block-paragraph">Finally, a small quality-of-life addition: clicking any collection, product, or recipe row in the Insights table takes you straight to that entity&#8217;s page, already scrolled to its timeline. No scrolling past settings to find the data you came for.</p>



<h3 class="wp-block-heading">Built to be reliable from day one</h3>



<p class="wp-block-paragraph">A few things happening beneath the surface, for merchants who care about the plumbing:</p>



<p class="wp-block-paragraph">Enterprise stores were backfilled with 90 days of historical timeline data, so your charts are populated immediately rather than starting empty. The underlying analytics pipeline was rebuilt to keep high-volume stores current — previously, very large stores could silently fall days behind; now the pipeline catches up adaptively. And the entire system is timezone-correct, so international merchants see complete data through their own &#8220;yesterday,&#8221; not the server&#8217;s.</p>



<h3 class="wp-block-heading">Available now</h3>



<p class="wp-block-paragraph">The reworked Insights is live today on all plans. Open the app and you&#8217;ll land on the new dashboard. From there, every collection, product, and recipe has its timeline waiting at the bottom of the page.</p>



<p class="wp-block-paragraph">Questions or feedback: hello@dynasort.io or in-app chat.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Auto-Updating Min/Max: Your Sorting Attributes Now Maintain Themselves</title>
		<link>https://dynasort.io/auto-updating-min-max-your-sorting-attributes-now-maintain-themselves/</link>
		
		<dc:creator><![CDATA[Wade]]></dc:creator>
		<pubDate>Sun, 31 May 2026 18:04:30 +0000</pubDate>
				<category><![CDATA[Masthead]]></category>
		<category><![CDATA[Feature Releases]]></category>
		<category><![CDATA[Features Deployed]]></category>
		<guid isPermaLink="false">https://dynasort.io/?p=735</guid>

					<description><![CDATA[There&#8217;s a setting in Dynasort that almost everyone configures once and then forgets forever. We just made it maintain itself. What min and max actually do Every numeric attribute you use for sorting has a minimum and a maximum value. These two numbers do more work than they appear to. When Dynasort scores a product, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">There&#8217;s a setting in Dynasort that almost everyone configures once and then forgets forever. We just made it maintain itself.</p>



<h3 class="wp-block-heading">What min and max actually do</h3>



<p class="wp-block-paragraph">Every numeric attribute you use for sorting has a minimum and a maximum value. These two numbers do more work than they appear to.</p>



<p class="wp-block-paragraph">When Dynasort scores a product, each attribute&#8217;s raw value gets normalized into a 0 to 1 contribution. The min is the floor and the max is the ceiling: a product at or below the min contributes 0, a product at or above the max contributes 1, and anything in between is interpolated linearly. For attributes where lower is better, like bounce rate or exits, the score is inverted.</p>



<p class="wp-block-paragraph">This is a clean, standard way to turn wildly different metrics — revenue in dollars, conversion rate as a percentage, inventory as a count — into comparable scores that can be weighted and combined. But it only works well if the min and max reflect your actual catalog. Set the revenue ceiling too low and half your products max out at a score of 1, flattening the signal. Set it too high and nothing ever approaches the top, compressing everything toward zero.</p>



<h3 class="wp-block-heading">The problem nobody revisits</h3>



<p class="wp-block-paragraph">Here&#8217;s what happens in practice. During setup, you configure your attributes and set reasonable min/max values, often using the recommendation Dynasort already shows next to each field. Then you move on. The store runs. Months pass.</p>



<p class="wp-block-paragraph">In those months, your catalog grows. Your traffic patterns shift. Your best-selling products change. The revenue distribution that made sense in October looks nothing like the one in March. But those min/max values are still sitting where you left them, quietly calibrated to a version of your store that no longer exists.</p>



<p class="wp-block-paragraph">Nothing breaks, exactly. The sorting still runs. But it&#8217;s running on stale calibration, and the further your data drifts from those original numbers, the less your scores mean.</p>



<p class="wp-block-paragraph">The fix used to be manual: go back into each attribute, look at the current recommendation, and copy the new numbers into the fields. Almost nobody did this regularly, because it&#8217;s the kind of maintenance task that&#8217;s easy to forget and hard to prioritize.</p>



<h3 class="wp-block-heading">Check a box, and it&#8217;s handled</h3>



<p class="wp-block-paragraph">Now there&#8217;s a simpler option. On any numeric attribute, you&#8217;ll find a new checkbox labeled &#8220;Auto-update from recommendations,&#8221; with help text that reads &#8220;Refresh minimum and maximum from data each day.&#8221;</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="518" src="https://dynasort.io/wp-content/uploads/2026/05/Screenshot-2026-05-31-at-1.54.49-PM-1024x518.png" alt="" class="wp-image-737" srcset="https://dynasort.io/wp-content/uploads/2026/05/Screenshot-2026-05-31-at-1.54.49-PM-1024x518.png 1024w, https://dynasort.io/wp-content/uploads/2026/05/Screenshot-2026-05-31-at-1.54.49-PM-300x152.png 300w, https://dynasort.io/wp-content/uploads/2026/05/Screenshot-2026-05-31-at-1.54.49-PM-768x389.png 768w, https://dynasort.io/wp-content/uploads/2026/05/Screenshot-2026-05-31-at-1.54.49-PM.png 1296w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Check it and save. Two things happen.</p>



<p class="wp-block-paragraph">First, Dynasort immediately recomputes that attribute&#8217;s min and max from your current store data and applies them. Second, from that point forward, a nightly process keeps them in sync automatically. You don&#8217;t approve each update — opting in is the approval. The values simply stay current.</p>



<p class="wp-block-paragraph">The recommendation logic is the same one Dynasort has always used for its on-screen suggestion: the floor is set at the 5th percentile of your product distribution, and the ceiling at the 90th percentile. This trims outliers on both ends so a single extreme product doesn&#8217;t distort the whole range. For traffic-derived attributes like conversions, sales, and cart adds, the distribution comes from your recent data window. For static catalog attributes like inventory, margin, and product age, it comes from your product data directly.</p>



<h3 class="wp-block-heading">Built to be conservative</h3>



<p class="wp-block-paragraph">This feature changes values automatically, so we designed it to be cautious by default.</p>



<p class="wp-block-paragraph">It only touches attributes you explicitly check. Every other attribute stays exactly as you set it. It only changes min and max — never your weights, your attribute status, or any other setting. There are guardrails on every update: if a recommendation would produce an inverted range (min greater than max) or an invalid value, the write is skipped. And when there isn&#8217;t a usable recommendation for one side of the range, your existing value on that side is preserved rather than blanked out.</p>



<p class="wp-block-paragraph">Everything is computed from data already inside Dynasort. There are no external API calls, and nothing is pushed to Shopify as part of this feature. It&#8217;s purely an internal recalibration of the numbers your sorting already depends on.</p>



<h3 class="wp-block-heading">What it covers</h3>



<p class="wp-block-paragraph">Auto-update works on 20 numeric attribute types. That includes traffic and event-derived metrics — cart adds, cart rate, bounces, bounce rate, conversions, conversion rate, exits, exit rate, product views, revenue, sales, and sell-through rate — as well as static catalog values like inventory quantity, per-location inventory, product margin, discount amount, discount percent, age of newest variant, days since created, and days since published.</p>



<p class="wp-block-paragraph">Attributes that aren&#8217;t numeric ranges — booleans, metafields, product tags, options, and similar — don&#8217;t have min/max values, so the checkbox doesn&#8217;t appear for them.</p>



<p class="wp-block-paragraph">You can see the status of every attribute at a glance on the attributes index, where a new &#8220;Auto&#8221; column shows a green On badge for enabled attributes, a grey Off badge for eligible ones you haven&#8217;t enabled, and nothing for attribute types that don&#8217;t support it.</p>



<h3 class="wp-block-heading">Available now, every plan</h3>



<p class="wp-block-paragraph">This is live today on every Dynasort plan, from Demo to Enterprise. There&#8217;s no upgrade required and no add-on. Open any numeric attribute and you&#8217;ll find the toggle directly below the min and max fields.</p>



<p class="wp-block-paragraph">Set it once, and stop thinking about it. Which, for a maintenance task, is exactly the point.</p>



<p class="wp-block-paragraph">Questions or feedback: <a href="mailto:hello@dynasort.io">hello@dynasort.io</a> or in-app chat.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
