Grow your business by advertising on bing, MSN, Xbox, and more!
EDITOR'S NOTE: This blog post is several years old and some of the information may now be out of date. For the most current information on dynamic text in adCenter, visit the adCenter Help files (linked to at the bottom of this post) or the Support Center topic on dynamic text.
Several times I've emphatically stated on this blog that you can't nest one parameter inside another. It's time to eat my words.
What's a parameter? How is it useful? And why are they nesting? (I'm forcibly restraining myself from making a bad pun here.)
A parameter, also called dynamic text in adCenter, is a string value that's not resolved until runtime. That's how developers define it. For the rest of us, it's a bit of text that isn't finally defined until your ad is served.
Dynamic text allows you to do things with your ads otherwise impossible. They're a powerful tool under-utilized by most advertisers.
Let's say you're bidding on the keyword "award winning widgets" for exact, phrase, and broad match types. Your destination URL is:
HTTP://www.example.com/LandingPage.html?matchtype={MatchType}
The value of MatchType is dynamic—it isn't determined until your ad is served. It might be an exact match, a phrase match, or a broad match depending upon the visitor's query that triggered the ad. It's basically a placeholder for a value that's determined the moment your ad is published. If the query was "award winning widgets," the value of MatchType would be e (for exact); if the query was "winning widgets," the value would be p (for phrase); if the query was "widgets," the value would be b (for broad). Tracking the number of conversions associated with each match type for a single keyword—and the cost of those clicks—helps determine your return on investment for a particular keyword at a granular level. Is exact match worth more to you than broad match? If so, how much can you afford to bid on exact match and remain profitable? The answers to those questions will provide your search engine advertising with a competitive edge.
Continuing with our example, a hypothetical visitor uses the search phrase "winning widgets" and clicks on your finely crafted, highly relevant ad. The URL they arrive at will be:
HTTP://www.example.com/LandingPage.html?matchtype=p
Your web analytics should be able to track conversions for all visitors who landed on this URL. Unfortunately, that's less than helpful. You're missing a critical piece of information. What's the keyword? You need to add another piece of dynamic text to your ad's destination URL to look like this:
HTTP://www.example.com/LandingPage.html?keyword={Keyword}&matchtype={MatchType}
This time your visitor arrives at the following URL:
HTTP://www.example.com/LandingPage.html?keyword=award%20winning%20widgets&matchtype=p
You may be wondering at the addition of the %20 between keywords. Internet protocol doesn't allow blank spaces in a URL so it encodes them as %20 instead. Microsoft's adCenter Analytics (currently in beta testing) is capable of decoding this URL and reconstructing the keyword as "award winning widgets." Other analytic solutions may not.
Here's the full list of dynamic keywords available in adCenter:
{Keyword} {MatchType} {QueryString} {OrderItemID} {AdID} {Param1} {Param2} {Param3}
There are two types of dynamic text—those defined by adCenter and those defined by you, the advertiser. Param1, Param2, and Param3 (param is short for parameter) can be defined by the advertiser, within certain limitations. Param1 has a 1,022 character limit while Param2 and Param3 have limits of 70 characters each.
Another of those limitations once was that you couldn't insert one dynamic value (Keyword, for example) inside another (Param1, typically). Which brings us finally to my diet of words.
If you're building a unique destination URL for each keyword, it makes perfect sense to use Param1. Destination URLs can get pretty long and Param1 accommodates the longest string—1,022 characters. You might want to dynamically add the value of your keyword or match type to your destination URL, or the exact query typed by your visitor. You might think you could use the following value for Param1:
HTTP://www.example.com/LandingPage.html?keyword={Keyword}&matchtype={MatchType}&querystring={QueryString}
You might think that but in the past, you would have been wrong. In the past, you couldn't nest one dynamic value inside another. Now you can but there's a caveat.
Although you can insert the dynamic values defined by adCenter (Keyword, MatchType, QueryString, OrderItemID, and AdID) into a dynamic value defined by you (Param1, Param2, and Param3), you can't insert one user-defined value into another. In other words, you can't insert Param2 into Param1. The following won't work as a value for Param1:
HTTP://www.example.com/LandingPage.html?UserDefinedValue={Param2}
You can't because you would create a circular reference—one dynamic value looking up another that references the first in an endless loop. Your keyword will be rejected during adCenter's editorial review process.
Dynamic text allows you to do things with your ads otherwise impossible. They provide a means of transmitting data between your adCenter campaigns and your web analytics solution as well as building ads on-the-fly. They're a powerful tool under-utilized by most advertisers. And they can be nested one inside another.
I'd like to thank Jason Dorsey, adCenter Technical Support Analyst, for his help in vetting this article, and the folks at Efficient Frontier who first challenged my assumptions. Any errors are entirely my own.
You can find more information about dynamic text in adCenter's help files and previous posts.
Sign in to adCenter | Need an account? Sign up now
Follow us on Twitter @adCenter & @MSAdvertising | Find us on Facebook and YouTube | Share your thoughts and ask questions in the Forums | Subscribe to the adCenter Blog
Just an FYI - none of your 'previous post' links are working. They all return an error page. This is a great article though. I wonder, however. Do these dynamic variables work with such robust tracking systems as Omniture and Hitbox? Don't they utilize their own tracking codes?
Hi,
I would love to know if the adCenter has any option to use properly formatted(user generated) alternate text value for each keyword, so that, the alternate text goes into the placeholder (rather than the keyword being the dynamic text)?
For example, if an ad title is '{keyword}' and if the keyword is 'buy new shoes', but, you don't really sell new shoes, and you want the ad title to be displayed as 'Buy Used Shoes', does the ad center have an option to have 'Buy Used Shoes' as an alternate text for the keyword 'buy new shoes' ?
Thanks,
Abhilash
abhilash.km@gmail.com
I have a question.
How is {MatchType} working for clicks from content network?
Is it like matchtype=c?
I think there should be an indicator just like broad, phrase and exact matches.
Thank you.
Hello Abhilash,
To answer your question, yes, adCenter does have what we call placeholders that can perform this function for you. Instead of inserting your keyword into the ad title you can have a certain place holder set up to display in your ad when that keyword triggers the ad to display. I have provided you a link to our help topic regarding dynamic text. This option is called Param 2 or Param 3.
adcenterhelp.microsoft.com/help.aspx
Britt.H - MSFT
Hello Jackson,
In your performance reports it will show as content however if you add in the delivered match type column it will show you how the match type was delivered ex: broad. For Content Ads, adCenter will first apply the broad match search ad bid. If there is not a broad match bid, then the phrase match bid is applied, and if there is no phrase match bid, then the exact match bid is applied.
I hope this answers your question.
Hello Britt,
Thank you for your answer.
I think I did not fully explain my questions.
I want to identify AdCenter traffic from Google Analytics using URL tagging.
I verified all parameters of {MatchType} on Analytics.
Like the author said, Analytics showed e for Exact, p for Phrase and b for Broad.
But he did not mention about Content Matching.
Unlike AdWords, AdCenter has content matching per keyword level.
So, I was wondering how Bing treats content clicks on Analytics.
My guess was 'c' as a content click indicator just like e, p, b for other matches.
Can you verify? I hope my question is clear to you.
Thank you so much.
Jackson.
Hi Jackson,
For Content Ads, Microsoft Advertising adCenter will first apply the broad match search ad bid. If there is not a broad match bid, then the phrase match bid is applied, and if there is no phrase match bid, then the exact match bid is applied.
Thank you,
Brian H - MSFT
Hi, Brian,
Thank you for replying.
Then, what would be the value of MatchType for content clicks?
I am trying to find a way to get adCenter traffic info as much as possible on Google Analytics.
Cheers!
When you create an ad group that has content enabled, content does not use match types, it uses the keywords you have entered. The {matchtype} will report to you what match type was used to provide the impression/click.