On my site (Therapist Directory | Westchester Therapy Match) the search terms look like ?10_name_equal=dan. The number (10) seems to change periodically, as the search term a few days ago looked like ?9_name_equal=dan.
Can you provide some transparency as to how this number changes and how I could set it to be ?name_equal=dan, as in your example above? I am wanting to create links to specific filter results from other pages on our site, and consistency of the url would be required for this. Let me know if I can clarify any further!
The changing numbers in your URL parameters (like ?10_name_equal=dan vs ?9_name_equal=dan) are actually version numbers that CMS Filter v2 generates internally to manage the filter state.
This numbering system is how Finsweet Attributes handles URL parameter generation when using the fs-list-showquery="true" feature. The number prefix changes based on the filter’s internal state management and can vary between sessions or page loads.
Your current URL structure breaks down as:
10 = Internal version/instance number (this is what keeps changing)
name = Your field identifier
equal = The filter operation type
dan = The filter value
To address this, we recommend ensuring your fs-list-field attribute uses a consistent, meaningful identifier. Make sure you’re using clear identifiers in your filter setup that remain consistent across your filters and collection items.
If you absolutely need the exact format ?name_equal=dan without any prefix, you would need a custom JavaScript solution, but this would mean losing some built-in benefits of the feature.
Could you share your current fs-list-field setup or let us know if you’re using multiple filter instances on the same page? Understanding your specific use case for deep links would help us provide a more tailored solution.
While the number prefix changes, the functional part of your URL should remain consistent for your deep linking needs.
If there is only one list on the page, there is no prefix in the query params. I.e: ?name_equal=test If there are multiple lists on the page, we add a prefix.
If the list has an instance, we use the instance name. I.e: fs-list-instance="example", the query params would be: ?example_name_equal=test
If the list does not have an instance, then we use the list’s position (0-based index) amongst the other lists in the page. So if the list is the 10th list on the page, it would be ?9_name_equal=test
The latter is probably what happened to you. If you don’t have an instance, and there are multiple lists on the page, the query params use the index position. And if you add more lists to the page, then the index will change.