# Perspective URL Parameter-\>session property (Or alternate approach)

**URL:** <https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [September 2, 2025, 8:43pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343 "2025-09-02T20:43:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![gregory.sachs](https://avatars.discourse-cdn.com/v4/letter/g/e47774/32.png) [@gregory.sachs](https://forum.inductiveautomation.com/u/gregory.sachs)\
**Post date:** [September 2, 2025, 8:43pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/1 "2025-09-02T20:43:37Z")

</div>

I’m trying to be able to define an identifier for each session of a set of pages that will be used in multiple locations, for the same task.

My thought was to use a URL parameter to identify the location, and then map that to a custom session property to use as a global variable for the actions related to that specific location. Is this a viable approach? How do I make that work?

I have the input parameter working, but that just puts it on a view. Do I need to do something like change script on the parameter to write to the session property?

Thanks!

---

<div class="post-metadata">

**Author:** ![Cose\_Peter1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cose_peter1/32/79174_2.png) [@Cose\_Peter1](https://forum.inductiveautomation.com/u/Cose_Peter1)\
**Post date:** [September 7, 2025, 3:03am UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/2 "2025-09-07T03:03:16Z")

</div>

You can assign the input parameter to custom session property by creating a **onStartup** script of the view. But what are you trying to achieve with the global variable(custom session property) ?

---

<div class="post-metadata">

**Author:** ![gregory.sachs](https://avatars.discourse-cdn.com/v4/letter/g/e47774/32.png) [@gregory.sachs](https://forum.inductiveautomation.com/u/gregory.sachs)\
**Post date:** [September 8, 2025, 12:27pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/3 "2025-09-08T12:27:49Z")

</div>

Thanks-the basic idea is that I have a UDT with the variables each different instance of the screen needs, and then everything can be indirect tag referenced into the UDT. Then deploying a new instance is just a copy/paste of the UDT and making sure that the name of the UDT matches the URL string.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 8, 2025, 12:31pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/4 "2025-09-08T12:31:26Z")

</div>

Using a session property for this will prevent independent tabs from showing distinct targets. Consider using a docked view as a companion to the page, and have that docked view examine the page's parameters. (Could even be query params instead of URL path params.)

---

<div class="post-metadata">

**Author:** ![calimero100582](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/calimero100582/32/18630_2.png) [@calimero100582](https://forum.inductiveautomation.com/u/calimero100582)\
**Post date:** [September 8, 2025, 5:35pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/5 "2025-09-08T17:35:42Z")

</div>

> [@pturmel](#):
>
> that docked view examine the page's parameters

do you mean by looking at the Url?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 8, 2025, 5:39pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/6 "2025-09-08T17:39:52Z")

</div>

The query parameters of a URL (the part after the question mark) get injected into `page.props.urlParams` if present.

> **[Pages in Perspective | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/pages-in-perspective#page-properties)**
>
> Pages are the main method of navigation in Perspective. When talking about pages, there are two distinct objects to be aware of.

---

<div class="post-metadata">

**Author:** ![calimero100582](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/calimero100582/32/18630_2.png) [@calimero100582](https://forum.inductiveautomation.com/u/calimero100582)\
**Post date:** [September 8, 2025, 5:43pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/7 "2025-09-08T17:43:13Z")

</div>

ok, that's why you are recommending query params, it will be way easier than the view params

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 8, 2025, 5:47pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/8 "2025-09-08T17:47:22Z")

</div>

Be aware that using view navigation after page navigation will leave stale values in `page.props`. You have to jump through some hoops to catch that--best handled in a shared docked view.

---

<div class="post-metadata">

**Author:** ![gregory.sachs](https://avatars.discourse-cdn.com/v4/letter/g/e47774/32.png) [@gregory.sachs](https://forum.inductiveautomation.com/u/gregory.sachs)\
**Post date:** [September 9, 2025, 12:57pm UTC](https://forum.inductiveautomation.com/t/perspective-url-parameter-session-property-or-alternate-approach/110343/9 "2025-09-09T12:57:31Z")

</div>

I ended up using something similar to this, just using the url properties and doing a split on it.  
Thanks!
