Skip the technical details and just search — SideSERP handles UULE encoding automatically. Pick a country and go.

Try SideSERP now

If you work in SEO, you have probably encountered the uule parameter in Google search URLs — or seen it mentioned in articles about location-based search. Despite being one of the most important parameters for accurate local SERP simulation, it remains one of the least understood.

This guide explains exactly what UULE is, how it works at the encoding level, why it matters for SEO, and how tools like SideSERP use it to give you accurate location-specific Google results.

What Is the UULE Parameter?

The UULE parameter (User Location Encoding) is a URL parameter that tells Google to return search results as if the searcher is physically located in a specific geographic area. When you add a uule parameter to a Google search URL, Google treats the request as coming from that location — regardless of your actual IP address.

Google uses UULE internally in its own tools, including the Google Ads Ad Preview tool. It encodes location data using Protocol Buffers (protobuf), a binary serialization format developed by Google. The encoded value is then base64-encoded and passed as a URL parameter.

A typical UULE parameter looks like this:

uule=w+CAIQICIGR2VybWFueQ

This encoded string tells Google: "Treat this search as if the user is in Germany."

UULE vs. GL: What Is the Difference?

Google's location system uses multiple parameters, and understanding the difference between them is critical for accurate SERP simulation:

ParameterWhat It DoesExampleAccuracy
glSets the country context for search resultsgl=de (Germany)Country-level only
hlSets the Google interface languagehl=de (German)Language, not location
uuleSimulates a physical searcher locationuule=w+CAIQICI...Precise geographic simulation

Using only gl=de tells Google you want results relevant to Germany, but Google may still use your IP address to determine your position within (or outside) Germany. Adding UULE overrides this — it tells Google to treat you as if you are physically standing in Germany, which affects local pack results, "near me" queries, and distance-based ranking signals.

For the most accurate results, use all three parameters together: gl for country, hl for language, and uule for physical location. This is exactly what SideSERP does automatically when you select a country.

How UULE Encoding Works (Technical Deep Dive)

The UULE parameter uses Google's Protocol Buffer (protobuf) encoding format. Here is how a UULE value is constructed step by step:

Step 1: Define the Protobuf Fields

The UULE protobuf message contains three fields:

  • Field 1 (role) — Set to value 2, indicating a geographic location
  • Field 2 (producer) — Set to value 32, indicating the source
  • Field 4 (canonical name) — The location name as a string (e.g., "Germany")

Step 2: Encode Using Varint and Length-Delimited Encoding

Each field is encoded using Protocol Buffer wire types. Integer fields use varint encoding, and the string field uses length-delimited encoding (length prefix followed by UTF-8 bytes). The binary output looks like:

08 02 10 20 22 07 47 65 72 6D 61 6E 79

Breaking this down: 08 = field 1, varint; 02 = value 2; 10 = field 2, varint; 20 = value 32; 22 = field 4, length-delimited; 07 = 7 bytes; 47 65 72 6D 61 6E 79 = "Germany" in UTF-8.

Step 3: Base64-Encode and Prefix

The binary protobuf output is base64-encoded and prefixed with w+ to produce the final UULE value:

w+CAIQICIGR2VybWFueQ

Legacy UULE Format

Older tools sometimes use a simpler UULE format based on a letter prefix and canonical name, without protobuf encoding. This legacy format may still work for some queries but is less reliable. Google's current tools use the protobuf format described above.

UULE in Practice: When It Matters

Local Pack and Maps Results

The UULE parameter has the strongest effect on local pack results (the map and business listings that appear for location-intent queries). Without UULE, Google uses your IP address to determine proximity, which means you would see businesses near you rather than businesses near your target audience.

"Near Me" and Implicit Local Queries

Queries like "pizza delivery", "dentist near me", or "gas station" are heavily influenced by physical location. The UULE parameter ensures Google interprets these queries from the target location rather than your actual location.

Country-Level Organic Rankings

For broader queries without explicit local intent (e.g., "best project management software"), the impact of UULE is smaller but still present. Google may adjust rankings based on regional content preferences, local news, and country-specific domain authority signals.

How to Generate a UULE Parameter

Automatic: Use SideSERP

The simplest method. SideSERP generates the full Protocol Buffer UULE parameter automatically when you select a country. You do not need to understand the encoding — just pick your country and search.

Programmatic: Build Your Own

If you need to generate UULE values programmatically (for example, in a rank tracking script), here is the logic in pseudocode:

  1. Take the canonical location name (e.g., "Germany")
  2. Encode the name as UTF-8 bytes
  3. Build the protobuf message: field 1 = 2, field 2 = 32, field 4 = name bytes
  4. Base64-encode the binary message
  5. Prefix with w+

SideSERP's source code implements this in JavaScript using the TextEncoder API for UTF-8 encoding and btoa() for base64.

Common UULE Mistakes and How to Avoid Them

  • Using UULE without GL — Always pair uule with gl. Without gl, Google may ignore or misinterpret the UULE location context.
  • Using the wrong canonical name — Google expects specific canonical location names (e.g., "Germany" not "Deutschland", "United States" not "USA"). Using the wrong name produces incorrect results.
  • Using legacy encoding — The older letter-prefix UULE format is less reliable than Protocol Buffer encoding. If your results seem inaccurate, check which encoding method your tool uses.
  • Caching issues — If you run multiple searches with different UULE values in the same browser session, Google may cache results. Use a fresh tab or clear cookies between searches for the most accurate results.

Tools That Use UULE

ToolUULE SupportEncoding MethodFree
SideSERPFullProtocol Buffer (current)Yes, unlimited
Valentin.appFullProtocol BufferYes
Google Ads PreviewInternalGoogle's own systemRequires Ads account
SE RankingPartialUnknownLimited
MangoolsPartialUnknownLimited

Frequently Asked Questions

What does UULE stand for?

UULE stands for User Location Encoding. It is a URL parameter that encodes a geographic location using Protocol Buffer format and tells Google to return location-specific results.

Can I create a UULE parameter manually?

Technically yes, but it requires Protocol Buffer encoding and base64 conversion. For practical use, tools like SideSERP generate the correct UULE automatically when you select a country.

Does UULE work for city-level searches?

Yes. The canonical name in UULE can be a city, region, or country. For example, you can encode "Berlin, Germany" or "New York, United States" for more granular location targeting. SideSERP currently supports country-level UULE encoding.

Is UULE the same as changing Google's region settings?

No. Changing your Google region settings only affects the gl parameter and applies to all your searches. UULE simulates a physical location for a single search and provides more accurate local results, especially for local pack and "near me" queries.

Will Google stop supporting UULE?

Google has used UULE in its own tools (including the Ad Preview tool) for years. While Google could change the parameter format, the underlying need for location simulation in search testing is not going away. If the format changes, tools like SideSERP will update their encoding accordingly.

Let SideSERP handle UULE for you — search Google from any country with accurate location encoding. Free, no login.

Try SideSERP now