• Home
    • Pugpig Bolt
    • URLs, Domains and Linking

    Deeplinking in Pugpig Bolt

    Written by Benji Weiser

    Updated at February 3rd, 2025

    • Pugpig Bolt

      • Pugpig Site

        • Pugpig Archive

          • Working with Pugpig

            • Pugpig Consulting

              Table of Contents

              What is a deeplink? How does deeplinking work? How do I find my app's domain? What screens can I deeplink to? Content Navigation Command Expected behaviour of deep links Redirect links Email newsletters External links HTTP links

              What is a deeplink?

              A deeplink is a type of link that takes the user to a specific location within your app, rather than a website.

              We have 3 types of deep links:

              • Content - You can use these to link directly to a specific article. The format of the URL can vary depending on your permalink structure.
              • Navigation - You can use these to link directly to an area within the app, such as a tab or collection.
              • Command - These are used to trigger certain app functions or direct users to native screens, such as the paywall.

              How does deeplinking work?

              The app has a domain and any link using that domain will open inside the app. If the link isn't valid it will open the app's home screen (the first tab), but if it is valid it will open to the designated screen inside your app.

              While deeplinks from alias domains should work if the domain is configured correctly, this article assumes you are sending deep links on the app domain. If you are interested in sending them on the www. domain, read making links from your domain open in the app.

              How do I find my app's domain?

              You should hopefully have set up a vanity domain, in which case that will be your app domain. But otherwise you can check the web version of your app, or share an article from your app to yourself. The domain is the section of the hyperlink after https:// up to and including the domain extension. For example, the domain in https://www.pugpig.com/products-and-services/ is www.pugpig.com

              What screens can I deeplink to?

              Content

              Article 
              app.pugpig.com/[article_postname]/content.html

              Dynamic timeline 
              There are two ways to deep link to dynamic timelines.

              app.pugpig.com/d/id-[dynamic_timeline_id]

              app.pugpig.com/d/[base-64-encoded-timeline-json]

              Edition table of contents 
              app.pugpig.com/d/id-[edition_id]

              Navigation

              Tabs 
              app.pugpig.com/t/[tab_name]

              You can find the tab name as it is listed as the timeline_group in distribution. Go to the publication in Production Distribution>Content Sources>Main Content Feed. Under editions, find a timeline that lives within that tab (there may only be one) and the timeline_group will be listed in the categories column.

              Collections 
              app.pugpig.com/t/[tab_name]/[collection_id]

              Storefront filters 
              app.pugpig.com/t/[tab_name]/[filter_group]

              You can find the timeline name by finding the timeline under Production Distribution>Content Sources>Main Content Feed and clicking on the timeline title. This will take you through to a page with the timeline name at the top, labelled as "edition: <timeline name here>".

              Settings items 
              app.pugpig.com/t/[settings_tab]/[settings_group]/[settings_item]
              app.pugpig.com/t/[settings_tab]/[settings_item]

              Command

              Help Screens 
              app.pugpig.com/c/onboarding

              This relaunches the onboarding flow users see when they first install your app e.g.

              Analytics Tracking Consent opt-in screen 
              app.pugpig.com/c/analyticstracking

              Sign in screen 
              app.pugpig.com/c/signin

              Subscription screen 
              app.pugpig.com/c/subscribe

              Receipt postback / Cross entitlement
              app.pugpig.com/c/register

              This will take the user to our hosted receipt postback registration form or the registration form for your chosen auth provider.

              Verify 
              app.pugpig.com/c/verify

              Voucher 
              app.pugpig.com/c/voucher

              Link to voucher code auth, which auto fills the form with a voucher code in the path: https://app.cmswire.com/c/voucher/<voucher_code>

              Audio player 
              app.pugpig.com/c/audioplayer

              App logs 
              app.pugpig.com/c/logs/send OR app.pugpig.com/c/logs

              Device app settings 
              app.pugpig.com/c/appsettings

              This is useful for customers who have previously opted-out to prompt them to opt-in again from the settings app of their own device.

              Collection set help screens
              app.pugpig.com/c/<collection-set-name/collection-set-help-screen-name>

              Push permissions dialog 
              app.pugpig.com/c/pushpermissions

              Push permissions dialog deep link on Android

              We previously only supported this option on iOS, however Android 13 has introduced a similar pop up on Android. We now support this /c/pushpermissions link on Android 13 and above. This prompt doesn't appear on Android 12 and lower. If push permissions were previously declined, the link will direct you to the app's permissions in the system settings.

               

              Expected behaviour of deep links

              Deep links can work:

              • Internally - in articles, link cards, and other places within the app.
              • From external sources - i.e. email or newsletter, when the app is backgrounded (i.e. in the task manager) or killed (i.e. completely removed from task manager).
              • Push notifications or in-app messages
              Type of deep link Example path Do they work
              Internally From external source Via push
              https://your-app-domain.com 
              Content N/A /yyyy/mm/dd/article/content.html Yes Yes Yes
              Tab /t/ /t/tab Yes Yes Yes
              Timeline /t/ /t/timelines_tab/timeline Yes Yes Yes
              Storefront /t/ /t/storefront Yes Yes Yes
              Filter group /t/ /t/storefront/filter_group Yes Yes Yes
              Settings item /t/ /t/settings_tab/settings_item Yes Yes Yes
              Dynamic timeline /d/ /d/dynamic_timeline Yes Yes Yes
              Edition TOC /d/ /d/id-edition Yes Yes Yes
              Command /c/ /c/command Yes No* No*
               

              *We advise that command deep links, i.e., any links whose path starts with a /c/, should not be used outside of the app.

               

              Redirect links

              If you tap on a link from an external source that redirects to the Bolt app, the link will open in a browser app first and then the redirect should open the Bolt app in the appropriate place.

              Email newsletters

              A popular use case for this is links in a newsletter email by mailing services. Almost all mailing services (E.g. Mailchimp, Salesforce Marketing Cloud) rewrite any links in the email to enable clickthrough tracking.

              Tapping on the (rewritten) link in the email will open the browser app first before opening the Bolt app on the correct article. This behaviour ensures that the links are tracked accurately, and users are subsequently directed to the correct article within the app.

              External links

              Some links may be intended to take the user externally, out of the app. For example if a user is being taken to your site, or if you are loading iframed content in your app. To read more about why you might wish to do this, or what control you have, check out our doc about links to external domains. As of Bolt v4.3, you can force a link to open externally by including the query parameter “force_external” in the link. This must not be used for navigation or command links, and the URL in question must be fully qualified. The result is undefined if these conditions are not met.

              deep linking deeplink

              Was this article helpful?

              Yes
              No
              Give feedback about this article

              Related Articles

              • Pugpig Bolt Analytics Starter Guide
              • Automated Push Messaging
              pugpig logo white
              Navigation
              • Products
              • Customers
              • News
              • Podcast
              Contact
              • Contact us
              • LinkedIn
              • Twitter
              Technical Support
              • Status Page
              • Documentation
              • Customer Support
              Corporate
              • Company
              • Jobs
              • Privacy Policy

              © Kaldor Ltd. 2022

              Powered by Pugpig


              Knowledge Base Software powered by Helpjuice

              Expand