Dynamic Parameters

Overview

Dynamic parameters are placeholder texts whose values will be dynamically set. They start and end with curly brackets. They may appear in all parts of the ad creatives, including title, description, display URL and the landing page URL (which is the URL that the advertiser wants the customer to go to).

Advertisers can customize mobile search ads by using dynamic parameters. You can create an ad as you normally would, and then indicate which parts of the ad will change, based on factors such as keyword search queries by potential customers. A customized ad is more likely to appeal to potential customers because it is more relevant to their specific search queries.

In general, there are two use cases to consider:

  • Use parameters as the dynamic text in ad creatives. Ads that take advantage of dynamic text tend to have greater customer appeal when people search and land on pages that are tailored to their specific product needs.

  • Use parameters as tracking macros in the landing page URLs. When you insert a tracking macro in your landing page, a real value for the search query is created. When the customer clicks on the ad, the ad will carry the real value as a landing page URL to the advertiser’s website. The advertiser can then track the performance of the ad, using analytics or other software performance tools.

Dynamic text

Use dynamic texts in ad creatives, like title, description, and display URLs.

For example, if your customer searches for a particular term or product, like an Apple iPod, using dynamic text you can insert your bidded term into your ad creatives and ensure your ad is more specific – and relevant – to that customer.

You accomplish this by inserting and setting the keyword variable, as shown in the table below, that matches your customer’s search query.

The following dynamic text variables are available in Gemini campaigns:

Dynamic text

Specified in Ad object

Served in Search Channel

Served in Native Channel

{keyword:default}

ad.title= ‘Buy {keyword:Electronics} From Us’

ad.title= ‘Buy Apple iPod From Us’

ad.title= ‘Buy Electronics From Us.’

Best practice: Always use a default value for Gemini ad creatives.

{param1:default}

ad.title= ‘Buy {param1:Flowers} from us’

ad.title= ‘Buy Roses From Us’

ad.title= ‘Buy Flowers From Us.’

Best practice: Always use a default value for Gemini ad creatives.

{param2:default}

ad.title= ‘Buy {param2:Chocolate} From Us’

ad.title= ‘Buy Mints From Us’

ad.title= ‘Buy Chocolate From Us.’

Best practice: Always use a default value for Gemini ad creatives.

{param3:default}

ad.title= ‘Buy {param3:Coffee} from us’

ad.title= ‘Buy Espresso Beans From Us’

ad.title= ‘Buy Coffee From Us.’

Best practice: Always use a default value for Gemini ad creatives.

The following are dynamic text and variable options available in Gemini campaigns:

Type

Description

Common use case

adParam

param1, param2 and param3 are variables that can be used to change several ads simultaneously. Defaults can be defined for all types of dynamic text: {keyword:default}, {param1:default}, {param2:default}, and {param3:default}. The default text is used whenever ads would otherwise exceed character limits.

param1 has a 1,022 character limit, while param2 and param3 have a 70 character limit each. You can set the value for param1 using the insertionText field for paramIndex=1 in the adParamValues attribute of a given keyword. Set the value for param2 using the insertionText field for paramIndex=2 in the adParamValues attribute of a given keyword. Set the value for param3 using the insertionText field for paramIndex=3 in the adParamValues attribute of a given keyword.

For more information, refer to the section AdParamValue Object in the Keyword object description.

For example, if an ad title is Buy {param1} for {param2}, and sweaters are entered as param1 while half off is entered as Param 2, the title will read ‘Buy sweaters for half off’.

Tracking macros

Tracking macros are variables that you can insert in search and native ads to track customer clicks in your ad campaigns. Tracking macros only apply to landing page URLs.

You can use tracking macros that are related to a user query. For example, if a customer searches for a new Apple iPod, you can fill in the title, type and description of the product, customizing your search ad campaigns.

How It Works

When a Yahoo user performs a search, several elements of the impression and click events have yet to be determined:

  • Is the user on a mobile device or desktop computer?

  • What was the user’s full search term?

  • How can I capture the keyword and ad id values that led to the click?

  • Which keyword match type value led to the ad impression? Broad, phrase, or exact?

Dynamic URL parameters enable you to collect this information the moment a user clicks on an ad.

Using the standard querystring parameter convention, you can utilize this syntax to capture the required information: ?someParam={someParam}&anotherParam={anotherParam}.

If a URL parameter is not supported, the default behavior is to substitute the value in curly brackets with an empty string.

For example:

  • If set in Yahoo Ad Manager:

    yahoo.com?someUnknownParam={unsupportedORunknown}&kwid={keywordid}

  • Serves as:

    yahoo.com?someUnknownParam=&kwid=1234

To ensure that your landing page can handle this scenario, you need to set default values.

Note that for native ad clicks, the only supported URL parameters are {adid}, {creative}, {device} and {network}. Any other URL parameters will be replaced with empty strings as well.

Supported tracking macros

The following tracking macros are supported in Gemini campaigns. Note that for tracking macros not listed in the following table – and thus not supported – the macro is blanked out.

Macro

Search Support?

Native Support?

Specified in Ad Object

Served in Search Channel

Served in Native Channel

{keyword}

Yes

No

ad.landingUrl=url.com?kw={keyword}

url.com?kw=new%20ipod

url.com?kw=

{param1}

Yes

No

ad.landingUrl=url.com?kw={param1}

url.com?kw=new%20ipod

url.com?kw=

{param2}

Yes

No

ad.landingUrl=url.com?kw={param2}

url.com?kw=new%20ipod

url.com?kw=

{param3}

Yes

No

ad.landingUrl=url.com?kw={param3}

url.com?kw=new%20ipod

url.com?kw=

{param1:default}

Yes

No

ad.landingUrl={param1:url.com}

url.com?kw=new%20ipod

url.com

{param1}

Yes

No

ad.landingUrl={param1}

url.com?kw=new%20ipod

Note: The landing URL will be blank. The ad will be not be served.

{bidmatchtype}

Yes

No

ad.landingUrl=url.com?bmt={bidmatchtype}

url.com?bmt=e

url.com?bmt=

{matchtype}

Yes

No

ad.landingUrl=url.com?mt={matchtype}

url.com?mt=e

url.com?mt=

{querystring}

Yes

No

ad.landingUrl=url.com?qs={querystring}

url.com?qs=new%20ipod

url.com?qs=

{adid}

Yes

Yes

ad.landingUrl=url.com?adid={adid}

url.com?adid=123

url.com?adid=123

{creative}

Yes

Yes

ad.landingUrl=url.com?adid={creative}

url.com?adid=123

url.com?adid=123

{keywordid}

Yes

No

ad.landingUrl=url.com?kwid={keywordid}

url.com?kwid=123

url.com?kwid=

{orderitemid}

Yes

No

ad.landingUrl=url.com?kwid={orderitemid}

url.com?kwid=123

url.com?kwid=

{ifsearch:string}

Yes

No

url.com?chl={ifsearch:s}

url.com?chl=s

url.com?chl=

{ifphone:string}

Yes

No

ad.landingUrl=url.com?chl={ifphone:m}{ifnotphone:p}

url.com?chl=m

url.com?chl= Best practice: Ensure the landing page can handle an empty string or literal value, i.e., {macro}.

{ifnotphone:string}

Yes

No

ad.landingUrl={ifphone:url.com/?chl=m}{ifnotphone:url.com/?chl=p}

url.com?chl=p

Note: The landing URL will be blank. The ad will be not be served.

{device}

Yes

Yes

ad.landingUrl=url.com?dv={device}

url.com?dv=p

url.com?dv=p

{network}

Yes

Yes

ad.landingUrl=url.com?nk={network}

url.com?nk=s

url.com?nk=n

{copy:name}

Yes (Sitelinks only)

No

ad.landingUrl=url.com?{copy:product_id}

url.com?product_id=123 (if the product_id for the ad showing the Sitelink is 123)

url.com? Best practice: Ensure the landing page can handle an empty string or literal value, i.e., {macro}.

{adxid}

Yes

No

ad.landingUrl=url.com?pa={adxid}

url.com?pa=123

url.com?pa=

{adxtype}

Yes

No

ad.landingUrl=url.com?pa={adxtype}

url.com?pa=sl

url.com?pa=

{campaignid}

Yes

Yes

ad.landingUrl=url.com?camid={campaignid}

url.com?camid=123

url.com?camid=123

{adgroupid}

Yes

Yes

ad.landingUrl=url.com?adgid={adgroupid}

url.com?adgid=123

url.com?adgid=123


Note that the following dynamic URL parameters are supported:

  • {matchtype}: The delivered match type of the bidded term that triggers the ad. “e” - exact match, “p” - phrase match, and “b” - broad match.

  • {bidmatchtype}: The match type of the bidded term that triggers the ad. “e” - exact match, “p” - phrase match, and “b” - broad match.

  • {device}: The device that the click is coming from. The values are : “p” - Phone, “t” - Tablet, “c” - Desktop or laptop computer.

  • {network}: Whether the click is coming from native or search. The values are: “n” - Native, “s” - Search.

  • {targetid}: The ID of the keyword (labeled “kwd”) and remarketing list target (“aud”). For example, if you add a custom audience list (ID “456”) to your ad group and target the keywords ID “123”, the {targetid} would be replaced by “kwd-123:aud-456”.