# Use URL Tags for Tracking



You can track performance of a campaign with an external tool by using the `url_tags` of [ad creative](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/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:

### PHP Business SDK
```
...
$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`.

### PHP Business SDK
```
...
$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

- Business Help Center: [URL Parameters](https://www.facebook.com/business/help/1016122818401732)