AmbireTech / adex-platform

AdEx Platform UI
https://platform.adex.network
GNU General Public License v3.0
58 stars 19 forks source link

Campaign-level UTMs #476

Closed Ivshti closed 4 years ago

Ivshti commented 4 years ago

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

# 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 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's targetUrl.

ivopaunov commented 4 years ago

Just need the zendesk tutorial link, but the checkbox is there