Portals
How to Track Geolocation on Portal Visits
8 min read
Updated Sep 6, 2026
Turn on geolocation tracking for a portal or a flow, then review the location, network, and device data that each portal visit records.
Geolocation tracking records where a client is when they open one of your portal links, along with the network and device details of that visit. You set the tracking level on each portal, and you can override it on an individual flow.
Overview
- What: Set Geolocation Tracking on a portal (or on a flow), then review the records it creates on Dashboard > Geolocations
- Why: Location, IP address, network, and device data help your agency confirm where a client was when they used a portal link
- Who: Staff who can reach the Admin menu and the Dashboard tab strip
- Expected outcome: A geolocation record is created for each tracked portal visit and appears in real time on Dashboard > Geolocations
Prerequisites
- At least one portal under Admin > Portals
- Access to the Admin menu (it is hidden when that navigation is hidden on your account)
- Access to Dashboard, which holds the Geolocations tab
- At least one flow under Admin > Messaging > Flows, if you want to override the portal setting for a flow
- An agency outside the Texas region, where geolocation is not available
How-To Steps
Set geolocation tracking on a portal
- Go to Admin > Portals.

- Click the portal you want to configure.

- Scroll to the Tracking and Authentication card.
- Select a level in Geolocation Tracking. The portal saves as soon as the value changes.
- Return to Admin > Portals and confirm the new value in the Geolocation column.

The Geolocation Tracking list offers these levels:
- Disabled: No geolocation script runs on the portal and no records are created.
- optional: The browser asks the visitor for location permission. If the visitor declines, the browser error is recorded and the visitor keeps using the portal.
- required: The browser asks for permission. If the browser returns an error, the visitor is sent to the portal's required page instead of the page they asked for.
- continuous: Behaves like required and keeps watching the device position, so a new record is created each time the location changes.
Override geolocation tracking on a flow
- Go to Admin > Messaging > Flows.
- Click the flow you want to change.
- Select a level in Geolocation Tracking in the Flow Settings card. The field is labeled "Overrides the portal geolocation" and offers disabled, optional, required, and persistent.
- Click Save.

Leave the field blank to keep whatever the portal is set to.
Review geolocation records
- Go to Dashboard > Geolocations.
- Review the map, which drops a marker for every loaded record that has coordinates.
- Narrow the list with the Search, URL, IP Address, Latitude, Longitude, and User Agent filters, then click Search.
- Read the results table, which lists URL, Country, IP Address, Geo Data, Network, Device, Created, and Updated.
- Click the edit button on a row to open the full record.
Download geolocation records
- Go to Dashboard > Geolocations.
- Apply the filters you want and click Search.
- Click PDF or CSV above the results table.
Check a client's most recent geolocation
- Open a client who has visited a portal.
- Look for the ONLINE badge at the top of the client record, which shows how long ago the most recent geolocation arrived.

- Click the badge to open that geolocation record.
What to Expect
On a Disabled portal, no geolocation script loads and nothing is recorded. On optional, required, and continuous portals, the browser shows its own location permission prompt when the visitor opens a portal page.

On required and continuous, a browser error (permission denied, position unavailable, or timeout) sends the visitor to the portal's required page, which reads "You are required to enable geolocation." and offers an Allow Geolocation Permissions button. Granting permission returns the visitor to the page they came from.

New records reach Dashboard > Geolocations in real time, and the marker on an open geolocation record moves as fresh coordinates arrive.

A record is linked to a client when the portal link identified that client. When two or more records share the same URL, the record page adds a Related Geolocations table listing URL, IP Address, Client, Message, Latitude, Longitude, Error Status, and Created, and joins the points on the map with a line.
Coordinate fields (need location permission)
| Field |
What it shows |
| PHYSICAL ADDRESS (APPROXIMATE) |
Address looked up from the recorded coordinates |
| LATITUDE |
Latitude in decimal degrees |
| LONGITUDE |
Longitude in decimal degrees |
| COORDINATE ACCURACY |
Accuracy of the coordinates, in feet |
| ALTITUDE |
Altitude, in feet |
| ALTITUDE ACCURACY |
Accuracy of the altitude, in feet |
| HEADING |
Direction of travel, in degrees |
| SPEED |
Speed, in MPH |

IP Address card (recorded without permission)
| Field |
What it shows |
| IP ADDRESS |
The visitor's IP address, linked to its lookup page |
| TYPE |
IP address type |
| LOCATION |
City, region, postal code, and country of the IP address |
| ISP |
Internet service provider for the IP address |
| TIME ZONE |
Time zone of the IP address |
| Latitude and Longitude |
Approximate coordinates of the IP address |

The record also parses the visitor's user agent into a browser (Chrome, Firefox, Safari, or Edge), an operating system (Windows, macOS, Android, or iOS), and a platform of Mobile or Desktop.
Network Info card
| Field |
What it shows |
| Type |
Connection type reported by the browser |
| Downlink |
Estimated bandwidth in mbs |
| RTT Speed |
Round-trip time in ms, rated Excellent, Good, Average, Poor, or Very Poor |
| Low Data Mode |
Whether the device asked for reduced data |
| Referrer |
The page the visitor came from |

Device Info card
| Field |
What it shows |
| Language |
Preferred language of the device |
| Timezone |
Preferred time zone of the device |
| Is Charging |
Whether the battery is charging |
| Charging Time |
Seconds until the battery is full |
| Discharging Time |
Seconds until the battery is empty |
| Level |
Battery charge as a percentage |
| Screen Width |
Screen width in pixels, rated Small Phone, Large Phone, Tablet, or Small Monitor |
| Screen Height |
Screen height in pixels |

Both cards show "No network info found" or "No device info found" when the browser reported nothing.
Best Practices
- Choose required or continuous only where a verified location matters, since both can stop a visitor from reaching the portal.
- Choose optional for general portals, where a location is useful but should never block access.
- Scan the Geolocation column on Admin > Portals to see every portal's level at a glance.
- Leave the flow Geolocation Tracking field blank unless that flow genuinely needs a different level from its portal.
- Tell clients that portal visits record location, because the browser permission prompt is the only notice they get.
Frequently Asked Questions
Q: How do I find every visit to one portal?
A: Go to Dashboard > Geolocations, enter the portal address in the URL filter, and click Search. Every record stores the URL the visitor was on.
Q: Can I block portal access from outside a geographic area?
A: No. The only geographic limit is Maximum Distance in the Check-In Settings of a portal, which sets the maximum miles from the Check-In Location that a check-in is allowed. It does not restrict access to the portal itself.
Q: Does the flow setting replace the portal setting?
A: Yes. The flow field is labeled "Overrides the portal geolocation". Leave it blank to keep the portal's level.
Q: What happens when a visitor blocks location permission?
A: The record stores the browser's error instead of coordinates and shows it as a red badge in the Geo Data column. On optional the visitor keeps browsing, and on required or continuous the visitor is sent to the required page.
Q: Can I look up an IP address that is not in the list?
A: Yes. Enter it in the IP Address field of the Geolocate IP Address card on Dashboard > Geolocations and click Geolocate.
Troubleshooting
Issue: No geolocation records appear for a portal.
Symptoms: Dashboard > Geolocations shows "No Geolocations found." after you filter by the portal address.
Solution:
- Click Reset to clear the filters, including the Archived and Trashed checkboxes.
- Open the portal under Admin > Portals and confirm Geolocation Tracking in the Tracking and Authentication card is not Disabled.
- Confirm your agency is not in the Texas region, where the Geolocations page reads "This feature is not available in the Texas region."
Issue: Visitors land on a page telling them to enable geolocation.
Symptoms: The portal shows "You are required to enable geolocation." with an Allow Geolocation Permissions button.
Solution:
- Expect this whenever Geolocation Tracking is required or continuous and the browser returns a location error.
- Ask the visitor to allow location for the portal address in their browser and device settings.
- Change Geolocation Tracking to optional if the portal does not need to block visitors.
Issue: A record has no coordinates.
Symptoms: The Geo Data column shows a red badge with a browser message instead of a latitude and longitude.

Solution:
- Open the record to read the full error beneath the coordinate list.
- Use the IP Address card on the record, which still gives an approximate city and region.
- Ask the visitor to clear the site permission for the portal address and open the link again.
Related Articles
Geolocation tracking records where a client is when they open one of your portal links, along with the network and device details of that visit. You set the tracking level on each portal, and you can override it on an individual flow.
### Overview
- **What:** Set **Geolocation Tracking** on a portal (or on a flow), then review the records it creates on **Dashboard** > **Geolocations**
- **Why:** Location, IP address, network, and device data help your agency confirm where a client was when they used a portal link
- **Who:** Staff who can reach the **Admin** menu and the **Dashboard** tab strip
- **Expected outcome:** A geolocation record is created for each tracked portal visit and appears in real time on **Dashboard** > **Geolocations**
### Prerequisites
- At least one portal under **Admin** > **Portals**
- Access to the **Admin** menu (it is hidden when that navigation is hidden on your account)
- Access to **Dashboard**, which holds the **Geolocations** tab
- At least one flow under **Admin** > **Messaging** > **Flows**, if you want to override the portal setting for a flow
- An agency outside the Texas region, where geolocation is not available
### How-To Steps
#### Set geolocation tracking on a portal
1. Go to **Admin** > **Portals**.

2. Click the portal you want to configure.

3. Scroll to the **Tracking and Authentication** card.
4. Select a level in **Geolocation Tracking**. The portal saves as soon as the value changes.
5. Return to **Admin** > **Portals** and confirm the new value in the **Geolocation** column.

The **Geolocation Tracking** list offers these levels:
- **Disabled:** No geolocation script runs on the portal and no records are created.
- **optional:** The browser asks the visitor for location permission. If the visitor declines, the browser error is recorded and the visitor keeps using the portal.
- **required:** The browser asks for permission. If the browser returns an error, the visitor is sent to the portal's required page instead of the page they asked for.
- **continuous:** Behaves like **required** and keeps watching the device position, so a new record is created each time the location changes.
#### Override geolocation tracking on a flow
1. Go to **Admin** > **Messaging** > **Flows**.
2. Click the flow you want to change.
3. Select a level in **Geolocation Tracking** in the **Flow Settings** card. The field is labeled "Overrides the portal geolocation" and offers **disabled**, **optional**, **required**, and **persistent**.
4. Click **Save**.

Leave the field blank to keep whatever the portal is set to.
#### Review geolocation records
1. Go to **Dashboard** > **Geolocations**.
2. Review the map, which drops a marker for every loaded record that has coordinates.
3. Narrow the list with the **Search**, **URL**, **IP Address**, **Latitude**, **Longitude**, and **User Agent** filters, then click **Search**.
4. Read the results table, which lists **URL**, **Country**, **IP Address**, **Geo Data**, **Network**, **Device**, **Created**, and **Updated**.
5. Click the edit button on a row to open the full record.
#### Download geolocation records
1. Go to **Dashboard** > **Geolocations**.
2. Apply the filters you want and click **Search**.
3. Click **PDF** or **CSV** above the results table.
#### Check a client's most recent geolocation
1. Open a client who has visited a portal.
2. Look for the **ONLINE** badge at the top of the client record, which shows how long ago the most recent geolocation arrived.

3. Click the badge to open that geolocation record.
### What to Expect
On a **Disabled** portal, no geolocation script loads and nothing is recorded. On **optional**, **required**, and **continuous** portals, the browser shows its own location permission prompt when the visitor opens a portal page.

On **required** and **continuous**, a browser error (permission denied, position unavailable, or timeout) sends the visitor to the portal's required page, which reads "You are required to enable geolocation." and offers an **Allow Geolocation Permissions** button. Granting permission returns the visitor to the page they came from.

New records reach **Dashboard** > **Geolocations** in real time, and the marker on an open geolocation record moves as fresh coordinates arrive.

A record is linked to a client when the portal link identified that client. When two or more records share the same URL, the record page adds a **Related Geolocations** table listing **URL**, **IP Address**, **Client**, **Message**, **Latitude**, **Longitude**, **Error Status**, and **Created**, and joins the points on the map with a line.
#### Coordinate fields (need location permission)
| Field | What it shows |
|-------|---------------|
| **PHYSICAL ADDRESS (APPROXIMATE)** | Address looked up from the recorded coordinates |
| **LATITUDE** | Latitude in decimal degrees |
| **LONGITUDE** | Longitude in decimal degrees |
| **COORDINATE ACCURACY** | Accuracy of the coordinates, in feet |
| **ALTITUDE** | Altitude, in feet |
| **ALTITUDE ACCURACY** | Accuracy of the altitude, in feet |
| **HEADING** | Direction of travel, in degrees |
| **SPEED** | Speed, in MPH |

#### IP Address card (recorded without permission)
| Field | What it shows |
|-------|---------------|
| **IP ADDRESS** | The visitor's IP address, linked to its lookup page |
| **TYPE** | IP address type |
| **LOCATION** | City, region, postal code, and country of the IP address |
| **ISP** | Internet service provider for the IP address |
| **TIME ZONE** | Time zone of the IP address |
| **Latitude** and **Longitude** | Approximate coordinates of the IP address |

The record also parses the visitor's user agent into a browser (Chrome, Firefox, Safari, or Edge), an operating system (Windows, macOS, Android, or iOS), and a platform of Mobile or Desktop.
#### Network Info card
| Field | What it shows |
|-------|---------------|
| **Type** | Connection type reported by the browser |
| **Downlink** | Estimated bandwidth in mbs |
| **RTT Speed** | Round-trip time in ms, rated Excellent, Good, Average, Poor, or Very Poor |
| **Low Data Mode** | Whether the device asked for reduced data |
| **Referrer** | The page the visitor came from |

#### Device Info card
| Field | What it shows |
|-------|---------------|
| **Language** | Preferred language of the device |
| **Timezone** | Preferred time zone of the device |
| **Is Charging** | Whether the battery is charging |
| **Charging Time** | Seconds until the battery is full |
| **Discharging Time** | Seconds until the battery is empty |
| **Level** | Battery charge as a percentage |
| **Screen Width** | Screen width in pixels, rated Small Phone, Large Phone, Tablet, or Small Monitor |
| **Screen Height** | Screen height in pixels |

Both cards show "No network info found" or "No device info found" when the browser reported nothing.
### Best Practices
- Choose **required** or **continuous** only where a verified location matters, since both can stop a visitor from reaching the portal.
- Choose **optional** for general portals, where a location is useful but should never block access.
- Scan the **Geolocation** column on **Admin** > **Portals** to see every portal's level at a glance.
- Leave the flow **Geolocation Tracking** field blank unless that flow genuinely needs a different level from its portal.
- Tell clients that portal visits record location, because the browser permission prompt is the only notice they get.
### Frequently Asked Questions
**Q: How do I find every visit to one portal?**
A: Go to **Dashboard** > **Geolocations**, enter the portal address in the **URL** filter, and click **Search**. Every record stores the URL the visitor was on.
**Q: Can I block portal access from outside a geographic area?**
A: No. The only geographic limit is **Maximum Distance** in the **Check-In Settings** of a portal, which sets the maximum miles from the **Check-In Location** that a check-in is allowed. It does not restrict access to the portal itself.
**Q: Does the flow setting replace the portal setting?**
A: Yes. The flow field is labeled "Overrides the portal geolocation". Leave it blank to keep the portal's level.
**Q: What happens when a visitor blocks location permission?**
A: The record stores the browser's error instead of coordinates and shows it as a red badge in the **Geo Data** column. On **optional** the visitor keeps browsing, and on **required** or **continuous** the visitor is sent to the required page.
**Q: Can I look up an IP address that is not in the list?**
A: Yes. Enter it in the **IP Address** field of the **Geolocate IP Address** card on **Dashboard** > **Geolocations** and click **Geolocate**.
### Troubleshooting
**Issue:** No geolocation records appear for a portal.
**Symptoms:** **Dashboard** > **Geolocations** shows "No Geolocations found." after you filter by the portal address.
**Solution:**
1. Click **Reset** to clear the filters, including the **Archived** and **Trashed** checkboxes.
2. Open the portal under **Admin** > **Portals** and confirm **Geolocation Tracking** in the **Tracking and Authentication** card is not **Disabled**.
3. Confirm your agency is not in the Texas region, where the **Geolocations** page reads "This feature is not available in the Texas region."
**Issue:** Visitors land on a page telling them to enable geolocation.
**Symptoms:** The portal shows "You are required to enable geolocation." with an **Allow Geolocation Permissions** button.
**Solution:**
1. Expect this whenever **Geolocation Tracking** is **required** or **continuous** and the browser returns a location error.
2. Ask the visitor to allow location for the portal address in their browser and device settings.
3. Change **Geolocation Tracking** to **optional** if the portal does not need to block visitors.
**Issue:** A record has no coordinates.
**Symptoms:** The **Geo Data** column shows a red badge with a browser message instead of a latitude and longitude.

**Solution:**
1. Open the record to read the full error beneath the coordinate list.
2. Use the **IP Address** card on the record, which still gives an approximate city and region.
3. Ask the visitor to clear the site permission for the portal address and open the link again.
### Related Articles
- [How to Create Web Portals](/how-to-create-web-portals)
- [How to Manage Portal Check-ins](/how-to-manage-portal-check-ins)
- [How to Create a Flow](/how-to-create-a-flow)
- [How to track portal link opens](/how-to-track-portal-link-opens)
- [How to Check the Audit Logs](/how-to-check-the-audit-logs)