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.