Use URL Tags for Tracking

You can track performance of a campaign with an external tool by using the url_tags of ad creative to distinguish different objects.

You can provide your own custom tags in the format of key=value, where key and value can both be customized. These are combined using the & character. For example, you might have something like utm_source=fb&ad=my_ad, which can be set using:

...
$creative->setData(array(AdCreativeFields::URL_TAGS => 'utm_source=fb&ad=my_ad',));

$creative->create();

Facebook also provides special macros that can be used in the value position of the format above. To have the ad's name automatically filled in, you can utilize the {{ad.name}} macro, which will be dynamically replaced when the ad is rendered with the name of the ad. For example, you create an ad named summer_2019, and set the url tag to ad_name={{ad.name}}. When the ad link is rendered for the viewer, they will see ad_name=summer_2019.

...
$creative->setData(array(AdCreativeFields::URL_TAGS => 'ad_name={{ad.name}}',));

$creative->create();

You can use a few different macros to help with tracking your campaigns:

  • {{campaign.id}}
  • {{adset.id}}
  • {{ad.id}}
  • {{campaign.name}}
  • {{adset.name}}
  • {{ad.name}}

Name-based parameters have special functionality. When you first publish your object, we store the name values used in a snapshot. When you use a name-based parameter in the tags for that object, Facebook then pulls from the snapshot rather than the live value.

Resources