Learn to stack category, price-range and search filters, keep state in the URL, and animate results—all in Webflow 2025 without custom JavaScript.
Published July 2025 • 10 min read
From SaaS template libraries to real-estate portals, users expect instant, multi-facet filtering. A slow reload costs clicks—and revenue. Webflow’s built-in Collection List is powerful, but out of the box it lacks dynamic filters. Enter Finsweet Attributes 2.0 (released March 2025): drop-in HTML attributes that deliver MixItUp-level filtering at a fraction of the bundle size—no custom JS.
Example: a Templates collection with fields:
Category
(Reference → Categories)Price
(Number)Tags
(Multi-ref → Tags)Thumbnail
(Image)Publish at least 12 items so filters have something to toggle.
<script src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/fs-attributes.js" defer></script>
File size: 7 kB gzipped.
Select the Collection List wrapper → Add Attribute:
fs-cmsfilter="list" id="templateList"
On each item link add:
fs-cmsfilter-field="category" fs-cmsfilter-field="price" fs-cmsfilter-field="tags"
Webflow compiles these into static HTML—zero runtime DOM queries.
<button fs-cmsfilter-element="filter" fs-cmsfilter-field="category" fs-cmsfilter-value="saas">SaaS</button>
<input type="range" min="0" max="199" value="0" id="priceRange"
fs-cmsfilter-element="range" fs-cmsfilter-field="price">
<input type="search" placeholder="Search templates" fs-cmsfilter-element="search">
Add basic Tailwind / Client-First classes for styling—attributes ignore them.
Newest attribute in 2.0:
fs-cmsfilter-deeplink="url"
Place it on the list wrapper. Now selecting “SaaS” + price ≤ 49 updates the URL to ?category=saas&price=0-49
. Users can bookmark or share, and Google can crawl pre-filtered pages for long-tail SEO.
Wrap each card in a div .card-anim
. Add:
fs-cmsfilter-animation="fade" fs-cmsfilter-duration="300"
Items fade/scale smoothly when filters change—no page jump, no reflow.
Create a Logic Flow:
query.category exists
event=filter_apply
)You’ll learn which filters correlate with conversions.
Limit = 24
) then add Finsweet’s “Load More” attribute for infinite scroll.id
values—each list needs a unique one.value
and CMS slug (capitalisation matters).With less than 20 attributes and zero custom JavaScript you’ve shipped an SPA-smooth filter experience—complete with deep links and analytics. In 2025, that’s table stakes for content-heavy Webflow sites. Try Attributes 2.0 on your next marketplace or blog archive and watch engagement (and SEO) climb.
Lorem ipsum dolor sit amet consectetur mi urna tellus dignissim duis at in tempor mauris morbi fermentum dolor lobortis aliquam maecenas.