Is your feature request related to a problem? Please describe.
We currently have UTMs but they're unit-level. With the new targeting (#468), targeting is now campaign-level so it makes more sense to have UTMs be set with campaign-specific values.
Describe the solution you'd like
[x] remove UTM stuff from the ad unit creation UI
[x] checkbox in the campaign creation UI to add UTMs, on by default with a help icon that points to a zendesk tutorial that shows how UTMs are formed; when enabled, it will add UTMs for every targetUrl of every ad unit in the campaign
[x] rework UTM values as described
# This one is technically supposed to something identifying advertiser, but many break the convention and use something that identifies the network
# some sources also say it should identify the publisher https://www.terminusapp.com/blog/mastering-utm_campaign-utm_medium-and-utm_source-google-analytics/
utm_source=adex
# This one is per convention; if we ever implement cpc or other models, this should be set accordingly
utm_medium=cpm
# Set to the campaign title; again, per convention
utm_campaign=`${campaign.spec.title}`
# Combination of the ad unit index within the campaign and the size
# for example the first ad unit could be "1_300x250" and the second "2_300x250"
# the index is used because you may have multiple units of the same size within a campaign, but you can visibly see all the units in their original order when you open the campaign
# not using the unit name because most users seem to write meaningless stuff there
utm_content=`${adUnitIdx + 1}_${adUnitType}`
Describe alternatives you've consideredhttps://github.com/AdExNetwork/adex-adview-manager/issues/32 together with https://github.com/AdExNetwork/adex-platform/issues/472. Doing it in the platform is better because it keeps logic like this away from the AdView (keeps it simple) and the dependency url adds 10kb (and every kb matters for the AdView). Furthermore, implementing it in the AdView would mean any change there would change all running campaigns, which is not the desired effect. The desired effect is to have UTMs be immutable for a campaign, so that it can be tracked accurately through it's lifetime. Finally, implementing it in the Platform means the exact values would be easier to preview by just peaking into the ad unit's targetUrl.
Is your feature request related to a problem? Please describe. We currently have UTMs but they're unit-level. With the new targeting (#468), targeting is now campaign-level so it makes more sense to have UTMs be set with campaign-specific values.
Describe the solution you'd like
targetUrl
of every ad unit in the campaignDescribe alternatives you've considered https://github.com/AdExNetwork/adex-adview-manager/issues/32 together with https://github.com/AdExNetwork/adex-platform/issues/472. Doing it in the platform is better because it keeps logic like this away from the AdView (keeps it simple) and the dependency
url
adds 10kb (and every kb matters for the AdView). Furthermore, implementing it in the AdView would mean any change there would change all running campaigns, which is not the desired effect. The desired effect is to have UTMs be immutable for a campaign, so that it can be tracked accurately through it's lifetime. Finally, implementing it in the Platform means the exact values would be easier to preview by just peaking into the ad unit'stargetUrl
.