Dynamic Routing
No-code/low-code
Explore how dynamic routing works in no-code platforms to create flexible, user-friendly apps without coding.
Dynamic routing in Bubble means using a single page to display different records depending on what the URL contains. Instead of building a separate page for every item, one template page adapts to show whichever record is passed to it.
This is how most real apps handle things like product pages, user profiles, or order details. One route handles all records of a type, not one page per record.
Key Takeaways
- Single page, many records: One Bubble page can display any record of its assigned data type, depending on the URL parameter.
- Page data type: Setting a data type on the page is what enables dynamic routing. The page then accepts a record of that type via the URL.
- URL slug: Bubble passes the record's unique ID or a readable slug in the URL to identify which record to display.
- Navigation workflow: You use a "Go to page" workflow action with a data argument to send users to the dynamic page for a specific record.
What is Dynamic Routing in Bubble?
Dynamic routing in Bubble means a single page template displays different content depending on which record is passed through the URL. The page has a data type assigned to it, and Bubble loads the matching record based on the URL parameter when the page opens.
Without dynamic routing, building individual pages for each user, product, or article would be impossible to maintain.
- Page data type setting: In the page's properties, you set the content type, which tells Bubble what kind of record this page displays.
- URL parameter: Bubble appends a record identifier to the URL when navigating to a dynamic page, like
/product?id=abc123. - Current page's thing: Elements on the page reference "Current page's [data type]" to display fields from whichever record is loaded.
Dynamic routing is what enables profile pages, listing detail views, order confirmation pages, and any other record-specific page in a Bubble app.
How Dynamic Routing Works in Bubble
Dynamic routing works through a combination of a page's data type setting and a navigation workflow that passes a specific record as the page's data. When the page loads, Bubble reads the URL parameter and fetches the matching record to populate all dynamic elements.
Setting up dynamic routing in Bubble takes three steps: set the page type, build the navigation workflow, and configure elements to use page data.
- Set content type: In the page's settings, select the data type this page displays. This activates the page's ability to receive a record via URL.
- Navigate with data: In the triggering workflow, use "Go to page" and set the "Data to send" field to the specific record the user should see.
- Reference page data: In elements on the destination page, reference "Current page's [type]'s [field]" to display the correct dynamic content.
Understanding how Bubble handles URL parameters helps you build more flexible navigation flows that support bookmarking and direct linking.
Why Dynamic Routing Matters for No-Code Apps
Dynamic routing is essential for any app where users view or manage individual records. Without it, you cannot build product pages, user profiles, or detail views. With it, one page template serves every record of that type efficiently.
Every real-world app needs dynamic routing for record-level pages. It is not optional for apps with relational data.
- Scalability: One page template handles unlimited records. Adding new products, users, or articles requires no new pages in Bubble.
- SEO benefit: Dynamic pages with readable URL slugs can be indexed individually by search engines when using Bubble's slug configuration.
- Shareable links: Dynamic URLs allow users to share links to specific records, which is essential for most B2B and marketplace apps.
At LOW/CODE Agency, we configure dynamic routing as a standard part of data architecture for any Bubble app with record-level views.
Common Dynamic Routing Mistakes in Bubble
The most common mistakes are forgetting to set the page's data type, sending navigation to the wrong page, and not protecting dynamic pages with privacy rules that verify the current user has access to the loaded record.
Dynamic routing without proper access control creates a security vulnerability where users can view records by guessing URL parameters.
- No content type set: If the page has no data type, "Current page's thing" references return empty and the page shows blank.
- Missing privacy rules: Without a privacy rule that restricts record visibility, any user with the URL can view any record of that type.
- Wrong navigation action: Using "Go to page" without setting the "Data to send" field sends the user to the page with no record context, causing blank content.
Always pair dynamic routing with privacy rules in the Data tab that limit record access to authorized users only.
Conclusion
Dynamic routing in Bubble is what makes record-level pages possible without duplicating your work for every item in your database. It is a fundamental pattern in any app that shows individual profiles, listings, orders, or content items. Setting it up correctly, with proper access control, is part of building a Bubble app that behaves like a real product. At LOW/CODE Agency, we've helped 450+ clients build and scale apps on Bubble and other no-code platforms. Our clients include global brands like Medtronic, American Express, Coca-Cola, Zapier, and Sotheby's.
Frequently Asked Questions
What is dynamic routing in Bubble?
Dynamic routing in Bubble means one page displays different records based on a URL parameter. The page uses its data type setting to load the right record.
How do I set up dynamic routing in Bubble?
Set the page's content type in its settings, use a "Go to page" workflow to send data to it, and reference "Current page's thing" in elements.
Can I use readable slugs instead of record IDs in Bubble URLs?
Yes. Bubble lets you set a slug field on a data type. Using the slug instead of the ID creates cleaner, more readable dynamic URLs.
How do I protect a dynamic page from unauthorized access in Bubble?
Add a privacy rule to the data type that restricts visibility to users who meet your access conditions, like being the creator or having a specific role.
What does "Current page's thing" mean in Bubble?
It refers to the record of the page's data type that was passed via the URL. All elements on a dynamic page use this to access the loaded record's fields.
Can Bubble dynamic pages be indexed by Google?
Yes, if the page is public and has readable URL slugs. Bubble also supports SEO meta fields per page for better search indexing of dynamic content.
FAQs
What does dynamic routing mean in no-code platforms?
Which no-code tools support dynamic routing?
How does dynamic routing improve user experience?
Can I use dynamic routing for e-commerce apps?
Is coding required to set up dynamic routing in no-code tools?
What are best practices for dynamic routing in no-code apps?
Related Terms
See our numbers
315+
entrepreneurs and businesses trust LowCode Agency
Investing in custom business software pays off
LowCode Agency revolutionized our inventory management system. It has boosted our efficiency and simplified our workflow.
75%
reduction in errors
30%
boost in efficiency
Andrew Batesman
,
Director of Beverage and Innovation
StraightUp Collective

%20(Custom).avif)