properSpecialOps and Custom Variables

Find out how to utilize the properSpecialOps variable for your custom targeting and reporting needs.

The properSpecialOps variable can be used to pass specific properties and values to Sovrn for custom targeting, reporting, and wrapper functionality. It must always be written to the page before the Ad Management script. This ensures that the values are readable by the ad script in the <head>.

Getting Started

To begin, add the code below to the <head> of the page. 

properSpecialOps = window.properSpecialOps || {};

This needs to be placed before the header bidder script, and it needs to be followed by the specific specialOps properties listed below.



These properties can be used to pass custom key-value pairs into Sovrn's Analytics or Google Ad Manager for page-level direct-sold campaign targeting and custom reporting.


Property Description Pass to GAM or Sovrn Analytics? Data Type Example


identify post by keywords Both array* ["baseball", "padres"]
"category" identify post by category Sovrn only string** "sports"
"editor" post editor Sovrn only string** "jane"
"writer" post writer Sovrn only string** "john-s"
"buyer" media buyer Sovrn only string** "alex"
"page_type" page type Sovrn only string** "article"
"split" identify test split versions Sovrn only string** "15432"
"dfp_kv" GAM key values GAM only object***


'sport': 'baseball' ,

'team': 'padres'

"custom" pass custom dimensions Sovrn only object

see below

*Max 500 characters

**Max 50 characters

***Max 20 characters for keys & 40 characters for values

Custom Dimensions

Publishers can also pass up to 10 of their own custom dimensions to Sovrn's reporting platform. 

Property Data Type Example
dimension_1 string "word_count-523"
dimension_2 string "layout-12"
dimension_3 string "april"
dimension_4 string "26"
dimension_5 string "2021"
dimension_6 string "sponsored-yes"
dimension_7 string "5a43cx9"
dimension_8 string "43987"
dimension_9 string "theme-blue"
dimension_10 string "commerce-no"

Max 100 characters

Dimension names can be included in the value to identity it or not, e.g. "month-april" or "april"

To pass these custom dimensions as key-values into GAM as well, add:

 "set_as_kv_to_gam" : true

Below is an example of what this could look like:

properSpecialOps = window.properSpecialOps || {};
properSpecialOps.page_meta = {
  "tags": ['baseball', 'padres'],                      
  "category": "sports",                  
  "editor": "jane",                    
  "writer": "john-s",                    
  "buyer": "alex",                    
  "page_type": "article",                
  "split": "15432",                    
  "dfp_kv": {
'sport': 'baseball',
'team': 'padres'
  "custom": {
     "dimension_1" : "word_count-523",
     "dimension_2" : "layout-12",
     "dimension_3" : "april",
     "dimension_4" : "26",
     "dimension_5" : "2021",
     "dimension_6" : "sponsored-yes",
     "dimension_7" : "5a43cx9",
     "dimension_8" : "43987",
     "dimension_9" : "theme-blue",
     "dimension_10": "commerce-no"
      "set_as_kv_to_gam" : true


This property will allow you to set a unique page-level identifier for custom targeting only. This identifier will not be available in reporting. 

Here’s an example of this for the ID 753169:

properSpecialOps.post_id = 753169;


This property gives publishers the ability to disable ad requests from being sent to Google Ad Manager at the page level.

This can be utilized when a URL has been flagged by Google, or when Google has disabled ad serving on a URL for content policy reasons.

“1” is true (do not send requests to Google), and “0” is false.

properSpecialOps.isolated = 0;


properSpecialOps.isolated = 1;

Other properSpecialOps properties

Here is a list of other commands that are available. Reach out to the SMS team if you have questions on them.