Welcome to the Marin Software Support Center. We're glad you're here. Here's what you can look forward to:
  • Real-time search so you can find what you need faster than ever.
  • Easy-to-follow video guides for our most popular articles.
  • Interactive simulations and Live Screenshots to make learning easy.
  • Regular content updates to ensure every word you read is accurate and up-to-date.

Search Publishers

Home > English > Search Publishers > Google > How To Articles: Google > Google Upgraded URLs: Best Practices & Self-Migration Guide

Google Upgraded URLs: Best Practices & Self-Migration Guide


This article will provide a number of best practice recommendations for the Upgraded URL migration process. 

What is happening?                  

Google has upgraded URLs to a new format that allows you to save time building URLs when changing tracking parameters and landing pages of URLs and allows you to consolidate common tracking values into a single URL template.

What do I need to do?

All destination URLs will need to be upgraded to the new URL structure. Beginning July 1st, Google will not allow any edits to your destination URLs and will auto-migrate any existing destination URLs to the upgraded structure. Beginning in August, destination URLs will no longer be served. As such, Marin recommends upgrading all Google destination URLs prior to the July 1st deadline to ensure uninterrupted ad serving.

What happens if I do nothing?

If your display URLs and destination URLs route to the same domain, your Destination URLs will be automatically upgraded to the Landing Page URLs after July 1, 2015 and you will not be able to benefit from the new Upgraded URL structure. As a result any changes to your URL structure will still require editorial review.

If your destination URLs contain redirects or you are using third party tracking, you will need to manually Upgrade your URLs.

Google Upgraded URLs: What is it?

Upgraded URLs provide a smarter way for you to manage your URLs in Google Ads. You can specify which part of your URL designates the landing page, and which part is used for tracking.

This will allow you to specify three separate pieces of information for your URL:

1. Your Final URL (Landing Page in Marin)

This is the landing page where the user will be directed when they click on your Ad.

2. Your tracking information (Tracking Template)

A Tracking Template is used by Google Ads to assemble the URL that will actually be served with your ads. Its primary use, as the name implies, is to support third-party tracking solutions, such as Marin Tracker, which use URL redirects. It can also be used to add parameters in non-redirect cases for large numbers of objects. As a result, you will no longer need to update ads, keywords, or sitelinks every time you need to add (or make a change to) a tracking parameter in your URLs. It can also be used to add parameters in non-redirect cases for a large number of objects.

Please note: A Tracking Template is available at all object levels  (Account, Campaign, Group, Creative, Keyword, sitelink). You can set more than one tracking template.

If multiple templates are set, the lowest template for any given object, will be served for that object. But the power of Upgraded URLs comes from having fewer higher-level templates. In fact, the ideal scenario is to have just one template at the account-level.

Examples of the Tracking Template

  1. Non-redirect: {lpurl}&pcrid={creative}
  2. Redirect: http://tracker.marinsm.com/rd?lp={lpurl}

Tracking Templates need to include a reference to the Final URL/Landing Page that they are building on. For this, we use the {lpurl} ValueTrack parameter. This {lpurl} parameter will always be replaced with the Final URL/Landing Page of whichever keyword, creative, etc. is being served when the ad is shown.

When {lpurl} is at the beginning of the Tracking Template (as in example 1 above), the Final URL/Landing Page will be copied as-is into the combined URL at serving time. If {lpurl} is found anywhere else in the Tracking Template, then the Final URL/Landing Page will be encoded first and then copied into the served URL.




Editing the Account-level Tracking Template

Please note: If Tracking Templates exist on more than one level (e.g. account and campaign), Google Ads will use the lowest-level template when possible; in the case above, this is the the campaign-level template.

3. Custom parameters

Keyword or creative specific tracking values that need to be inserted in the tracking template but are values which are unique to each keyword and ad.  You have the ability to define your own customer parameters by setting unique IDs. Custom parameters live at all levels except for at the account level (i.e. keywords, creatives, ad groups, campaigns, etc.) You can refer to them in both the Tracking Template or the Final URLs/Landing Pages.

Up to three custom parameters can be defined per object, and they have both a custom name and custom value. The value of a custom parameter can contain any of the characters found in a normal URL, and even Google-defined ValueTrack parameters (such as {creative}) -- but cannot reference other custom parameters. Custom parameter values have a maximum length of 200 characters.

Both Tracking templates and custom parameters are served by Google in decreasing order of precedence.

Examples of Custom Parameters

  1. Keyword level: {_marinkwparam1} = “abc123”
  2. Campaign level: {_campaignparams} = “Brand_Shoes”

In the first example, either the Tracking Template or the keyword’s Final URL/Landing Page needs to contain ?mkwid={_marinkwparam1} so that when served, it is substituted with ?mkwid=abc123


Group-level custom parameters are edited from the Campaign Grid


In the second example, {_marincampparam1} contains a fully formed query string, so in theory you could add it directly after the Tracking Template without any special characters. In this case http://www.example.com{_marincampparam1}would be served as http://www.example.com?campaign=Brand_Shoes&creative={creative}

The following table shows the tracking template, custom parameter and landing page availability in decreasing order of precedence.


Tracking Template

Custom Parameters

Landing Page





Keyword /  Placement




Product Group / Dynamic Target / Dynamic Ad





















For more information about Upgraded URLs, please visit this Google help page here.

Preparing for the Upgraded URL Migration

Preparation is key to a successful Upgraded URL migration. Marin recommends the following best practices.

  • This self -migration guide is designed for accounts that have a URL structure with no redirects and for marketers who have a basic URL setup and understanding of the implications of the new Google Upgraded URL structure. If you are concerned with self-migrating your accounts, we recommend opting-in to Marin’s Upgraded URL service. If you have any questions, please reach out to your Customer Success team for additional information
  • When setting up your tracking template, Google and Marin’s recommended best practice is to create an account level template, which is the highest level possible for a given Google Ads account.
  • Allocate an “account freeze” period, where no changes such as editing, adding or removing of objects inside Marin and directly within Google Ads occurs to ensure you do not inadvertently overwrite the new structural changes. A one-week period should be sufficient but if you need additional time, adjust the “account freeze” period accordingly.
  • We recommend that you perform a hard sync within Marin at the beginning of the “account freeze” period to ensure all objects are in sync between Marin and Google Ads. To perform an account sync simply navigate to the Channels Tab, then navigate to Manage Accounts and select the Google publisher account. From here navigate to the campaigns sub-tab and select all campaigns within the given Google account and hit the Hard Sync button.
  • As a pre-migration measure for quality assurance, review your Marin account to ensure there are no outstanding objects in “Held or To be sent” status by navigating to the Activity Log within the Admin Tab. From here navigate to the Status column and apply a filter for Status=Held and To Be Sent. Please be sure to post or cancel these operations before proceeding with your migration.
  • QA your URLs to ensure they resolve properly. URLs that do not resolve successfully today will not resolve with the new Upgraded URL structure.
  • Please reach out to your customer success team if you have any questions regarding reviewing your URL structure within your Marin account(s).
  • As an additional post-migration check, please review your Upgraded URL structure before posting any URL changes to Google.
  • Leverage the URL preview tool within the SmartGrid Tab of your Marin application to assist in your QA efforts. You can learn more about this functionality by reviewing the SmartGrid Help Article within the Useful Links section below.

Putting It All Together: Best Practices for Self Migration

1. Sync from Publisher to Marin

Manually sync all Google publisher accounts and wait for the account sync to complete before proceeding to step 2. This will ensure all of your objects are in the Marin platform before proceeding.

2. Create Bulk sheets for Objects to Upgrade

Generate Google bulk sheet reports for objects that require URL migrations, such as keywords, creatives, sitelinks, placements and product groups by creating a report from the Marin application.

You will most likely want to include the Destination URL (if using redirects, then Click Through URL) column in the report, so you can extract the base URL and populate into the new Landing Page column for your bulk uploads.

Example columns to include in Keyword bulk sheet report would be Account, Campaign, Group, Keyword, Match Type and Destination URL (later to be replaced by Landing Page and Mobile Landing Page for bulk upload).

If you are defining any custom parameters at the campaign or group level please be sure to include these columns in your Marin report. For more information about creating bulk sheets, please visit this Marin Software help page.

3. Enable New URL Builder

Please reach out to your Marin Software customer success team to enable Marin’s Upgraded URL Builder and disable the legacy URL Builder. If you are using Marin Professional this step may not be required.

4. Upgraded URL Builder Review

Familiarize yourself with the new URL Builder in the article below, then continue to follow the steps below to set up your structure.

For more information about Upgraded URL Builder, please visit this Marin help page.

5. Assess URL Structure and Identify Custom Parameters Needed

Review each tracking parameter in the Destination URL to ensure it can work successfully within your new tracking template.

Any parameter that is not referencing a Google value track parameter, i.e. {creative}, {matchtype} will need to be replaced by a new Custom Parameter, so items like mkwid, campaign name, etc. Rather than hard-coding these IDs, you can define Custom Parameters at a given level (except for account) to fill them in.



mkwid: This value represents a unique ID for each keyword. Replace ‘mkwid=12345’ with a Custom Parameter, i.e. {_mkwid} IMPORTANT: The system will know to re-pull and apply your existing unique ID


pcrid: This value represents the publisher creative ID. If you are using Google‘s value track parameter {creative}, no Custom Parameters are required.

After following the rest of this Self-migration guide, your Final URL structure should look like this basic example:


And the served URL on Google will look like this:


6. Landing Page {lpurl} & Redirect Setup

Check the Landing Page settings and/or add the Redirect URL (if applicable). Click the Edit pencil next to the Redirects section where you see {lpurl}.

If not using Redirects, this should stay Off and the only item to check is whether or not the dropdown defaults to include http:// in front of the {lpurl}. Since most Landing Pages will already include http://, it is recommended to set this to None. If this is set, then you should not include http:// in the Landing Page in your bulk upload.

For Redirects, you would set this to single or double and add the redirect snippet into the field and select the level of encoding you would like for the {lpurl} or Landing Page URL.

The Final URL in Google


7. Tracking Parameter Setup

Create a parameter block that includes all of your custom parameters and other key tracking information. To create, first make sure you have created an Account template (should only see Account in the upper left drop-down).

There may be exceptions to this if you have full URL templates that need to live at a lower level in the hierarchy, just be aware that any templates created at lower levels, such as Campaign or Keyword will override everything set at the Account template level.

Then, click the blue +New button in your URL Builder.


Parameter Block:

Name: [_trackingparams]

OR for Redirects something like [_redirectparams] and [_lpparams] depending on what parameters you want to append to the Redirect versus the Landing Page.

Value (box): mkwid={_mkwid}&pcrid={creative}

Location: Template, Stop Character: None, Association: {lpurl}

These last settings ensure this parameter block will live at the Account template level and will append to your {lpurl}.

Other examples of Custom Parameters that may need to be replaced in the tracking parameter block are things like {_campaign}, {_group}, {_keyword}, {_slid}, {_clickcommand}, {_dimensionname}. Although these params live at other levels, they will need to be referenced at the Account Tracking Template level.

IMPORTANT: Custom Parameter Name must only contain lowercase letters and numbers (i.e. {_mkwid} or {_group} NOT {_Mkwid} or {_Group_Name}) to comply with Google requirements and avoid issues. Custom Parameter value must not exceed 200 characters.

8. Custom Parameter Setup

Create the Custom Parameters that you have now referenced in your [_trackingparams] block. To create, you will also click on the blue +New button.


Custom Parameter

Name: {_mkwid}   

Value (box): [uniq_id]

Location: Google:Keyword, Stop Character: None, Association: None

Note: The Association defaults to {lpurl} so make sure to change to None

Notice the value for Custom Parameters is in hard brackets, while the Custom Parameter name is denoted by curly bracket underscore.

Now when the [_trackingparams] block references the {_mkwid} it knows to grab the unique ID at the Keyword level.

If you want unique IDs for other trackable objects, you would create additional {_mkwid}=[uniq_id] Custom Parameters and adjust the Location to Google: Placements or Google: Product Targets for example.

9. Apply the Account Level Tracking Template

Important to note: Saving URL Builder does not save the Account Tracking Template for your linked Google accounts. To apply the saved URL Builder settings to the Publisher Account you need to take the following steps.

Go to the Channels tab > select Google Publisher Accounts > Edit > select Account Tracking Template from the drop-down.

Type anything you'd like into the blank box. URL Builder settings will always trump what is typed into this field. For example, you could write "Hello World" and the resulting job would utilize the URL Builder Tracking Template and not what was typed into the box.

Once you Save, check the Activity Log and post the Tracking Template to Google.


10. Final Template Review

Review the Preview Template at the bottom of your URL Builder to ensure the Final Template looks as expected and includes all of the Custom Parameters needed in your URLs. Also make sure that any Custom Parameters are set up in the Custom Parameter box with Association: None, Stop Character: None and Location set to the level in which the parameter is associated.

Example (non-redirects):


Example (Redirects):



11. For URL bulk sheets at each object level, separate the Landing Page URL from the destination URL.


Destination URL = http://www.example.com/?param1=a&param2=b,

Landing Page URL= http://www.example.com





Match Type

Landing Page

Mobile Landing Page

My Account

My Campaign

My Group






12. Once you have configured your URL builder and uploaded your URL bulk sheets, please review your account and reach out to your Customer Success team if you need any assistance with troubleshooting.

a. Verify the Landing Page contains the URL that was originally the Destination URL without tracking.

b. Check to see that Custom Parameters have been defined properly (keywords tab, campaigns tab, etc.) in the Custom Parameters column.

c. The Destination URL is essentially a "Preview URL" of all URL parts assembled. Click on a handful of URLs in the Destination URL column to ensure landing pages resolve correctly.

13. After confirming your updates are accurate, please post your URL changes to Google by navigating to the Activity Log within the Admin tab, selecting the operation and submitting the Post Now button.

14. Once these steps are completed your Google Ads accounts will be upgraded to the new Google Upgraded URL format. 

Post-migration Checklist

  • Do not edit the Destination URL in Google Ads directly after migrating your accounts.  If you need to make changes in Google Ads, please use the "Final URL" column to ensure that you do not inadvertently deprecate the Landing Page URL within Marin.
  • Prior to upgraded URLs, Marin’s URL builder had the option to build keyword URLs, but NOT tag creative or placement URLs.  After Upgraded URLs for customers with an Account, Campaign or Group-level tracking template all objects belonging to the hierarchy level containing the tracking template, will inherit its URL Builder settings.
  • After your accounts are upgraded Auto-correct is OFF no longer applies if you have an Account, Campaign, or Group-level template. This is because all objects under the hierarchy level containing the tracking template will inherit its URL Builder settings.
  • Any third party tracking systems or other automated processes that are creating/editing URLs will need to use the Landing Page instead of Destination URL column in Google Ads.
  • If your account has unlinked Google publisher accounts with differing tracking settings, we recommend setting a campaign level tracking template. 
  • Groups with differing tracking templates will need to set a tracking template via a bulk-sheet upload. In this instance please do not set a group-level tracking template within URL Builder.  If the URL Builder has a group-level tracking template, this will override anything that is uploaded in a bulk-sheet.
  • If a tracking template is invalid, meaning it does not contain{ lpurl}, the landing page will be served without any values from the custom parameters within the template
  • Please note when uploading bulk sheets, custom parameter fields must be populated.


  • If you upload {_mkwid}=[uniq_id] a value must be populated for [uniq_id]


Q: When should I add “?” or “&” to Landing Page URLs (Final URLs)?

A: Google will not check for “?” or “&” requirements when serving URLs. To ensure URLs are valid, Marin will automatically append a question mark to the end of Landing Page URLs, if one does not already exist.

Q:  At which level should I build my templates?

A:  Templates should be set at the highest level possible, ideally at the account level.

Q:  Where can third party redirects exist?

A:  Third party redirects are not allowed in Landing Page URLs (Final URLs). They must be set in the Tracking Template. For additional information regarding managing redirects, please visit this Google help page here.

Q: What if I have multiple redirects?

A: All redirects must be contained within the tracking template.

Q: How do I set up {ifmobile:[value]}{ifnotmobile:[value]}?

A: {ifmobile:[value]}{ifnotmobile:[value]} can be used in the Landing Page (Final URL), Tracking Template or Custom Parameters. However, the best practice is to separate these parameters between the Landing Page and Mobile Landing Page. Both new URL column are supported within Marin.

Q: Can I still use the{copy:[value]} parameter?

A:  Sitelinks can inherit tracking templates and custom parameters from other objects. {copy:[value]} is not available with Upgraded URLs.


Account Tracking Template:


Keyword custom parameter:


No sitelink custom parameter

Sitelink Landing Page:


Sitelink URL served in Google Ad :


Q:  Upgraded URLs can be confusing, is there a tool to preview what the new URL will look like?

A: Yes, in Marin the SmartGrid Tab produces a “Preview URL” for easy QA. This will show you what the final URL will look like after all the Upgraded URL components are put together. To navigate to the side panel within the SmartGrid tab, double click on the row of your specific keyword or ad and use the up and down arrow keys to move between objects

For more information about the side panel, please visit this Marin help page: https://app.marinsoftware.com/help/zdauth?article=/entries/67414270-A-Guide-to-the-Platform-s-Side-Panel-Feature?locale=1

Q:  What is the custom parameter characters limit?

A:  Custom parameter “name” - 16

      Custom parameter “value” - 200

      Custom parameter “name” must be lowercase, alphanumeric only

There are only 3 custom parameters allowed per object

For more information about Custom Parameters, please visit this Google help page here

Q:  What if I have more than three custom parameters per level?

A: You can consider combining two or more URL parameters into one custom parameter as long as the value does not exceed the character limits.


 {_myparam} = mkwid=1a2b4c4d&lang=en

Q: What are {lpurl} & {unescapedlpurl}?

A:  These are placeholders in Tracking Templates. Google will replace them with the value in the Landing Page (Final URL) of a keyword or ad.

For more information about Tracking Template parameters, such as {lpurl}, please visit this Google help page here

Q: What do I do with my dummy keywords?

A:  Please reach out to your Customer Success team for assistance.

Q: I previously used dimensions in my legacy URL builder. Where do I apply dimensions today?

A:  Dimensions should be placed inside the custom parameters at the appropriate object level.










Last modified


This page has no custom tags.


(not set)
(not set)
(not set)