These are the dimensions and standard values for describing an adunit in-part or as a whole. These terms are used in advert setup and in reporting. See also the page on Good-Loop Terminology.
- delivery mechanism i.e. how does the adunit get onto the page?
- Values:
vpaidourpage(as.good-loop.com or CPC wrapper)app(e.g. SnapChat)directiframe(a non-expanding banner, e.g. an mpu2)safeframe
- size:
- Standard banner sizes:
mpu(300x250)- Double MPU
mpu2(300x600) leaderboard(728x90)billboard(970x250)vbnrstickyfooter
- Standard vpaid sizes:
portraitsquarelandscape
fullscreen(e.g. ourpage, or snapchat after a swipe-up)responsive(size unknown, take the full frame - differs from fullscreen in that it will only be part of the screen)
Size is often called "format" in the industry, but that's ambiguous -- so we use size instead.
It can be unset at the buying and request stage, with the adunit working it out dynamically.
- play behaviour:
onloadonvisibleonclickclickthrough(i.e. no video play)onexpand(i.e. safeframe)none(i.e. the CPC banner which has no video)
- after:
vanish(e.g. pre-roll - the advert will cleanup and vanish once its finished)persist(e.g. in-read, the thank-you page will linger)
- videoaspect:
16:9(landscape)1:1(square)9:16(portrait)- plus custom ratios, as "a:b"
We record these as keyword strings. The unit can turn them into numbers.
- style (99.9% applies to banners only):
defaultcountdown- etc etc
How does it look & feel? Can also cover e.g. "banner shows a video thumbnail", "use logo A/B"
We expect to define explore and discard lots of these.
We also have the custom css. We'd define a style type if
(a) css isn't enough and it has to hook into custom code, or (b) we want to report on A/B variants.
- cta:
nonetrackemailsocialadlinkappinstallcustom
We can't enumerate all of these, but it's useful to list common ones for reporting. Let's also have a custom html field, separate from this, which can define actual html (so a cta can have e.g. custom wording).
Using this...
A standard pre-roll would be: delivery:vpaid size:landscape play:onvisible videoaspect:16:9 style:default cta:none after:vanish
A blogger direct tag might be: delivery:direct size:mpu play:onexpand style:default after:persist
The CPC banner has the pre-click banner -- which might be an image in AdSense, or e.g.
delivery:banner size:mpu play:none cta:adlink
The CPC banner post-click has
delivery:ourpage size:fullscreen play:none cta:adlink -- where play:none is the key difference from the as.good-loop.com adplayer.
SnapChat post-swipe-up is
delivery:app size:fullscreen play:onload style:snap
Canonical Terminology for Logging Good-Loop Events
These are the events logged by adserving, which you can access in the portal dashboard.
trk.pxl| A user has visited a site on which the G-L pixel lives, and now the pixel allows G-L to track if that user interacts with the ad-unit, re-visits the site(s), and/or visits the Advertiser's click-through page. NB: logged in the dataspacetrk, not the usualglone.req| The adunit is requested by a call to unit.js. This can be confirmed against our nginx logs. Unlike other events, this event is recorded by the adserver backend calling lg.good-loop.com (so IP and user-agent may be different).reqfail| A request was made to the server, but failed at that stage.error| An error occurred when viewing the ad. Dev-Ops can see an example in the json for details. Some errors are handled gracefully.warning| Like error, but less bad.render| The advert has displayed itself within the page. This does not mean it is viewable.visible| The adunit is viewable (it's 50% on screen for at least a second). Because of the 1 second delay, it is possible for ads to complete via click-through before this event fires.mouseover| The user has moved their mouse over the ad -- typically a hover indicating attention.clicktolandingpage| Only used on the click-through-to-our-landing-page-video-player variant. Click through to our video-player landing-page.req2| With click-through-to-video-landing-page, this is the second request to the server (the one for our video-landing-page).reqfail2| The req2 request failed.render2| The render for our video-landing-page. Typically the sequence here is: req -> render -> clicktolandingpage -> req2 -> render2.visible2| Visible for our video-landing-page.open| The video play is opened (e.g. the user clicked to open the lightbox), and hopefully the ad should start playing. An example sequence of events might be: open -> autoplayfail -> clicktoplay -> startvideo.autoplayfail| ...We tried to auto-play the video. It didn't play.clicktoplay| The user clicked on a manual play button (e.g. after an autoplayfail).autoplay| Auto-play worked :)startvideo| The video starts playing.tryexpand| A SafeFrame wrapped adunit tries to expand to show the lightbox.sfexpanded| A SafeFrame wrapped adunit successfully expanded :) Failures are logged undererror.pick| The user has picked a charity.minview| The user has watched long enough to count as a completed view - the advertiser is charged and a donation will be made to charity.donation| A donation event. Called when the user has picked a charity provided the video view is complete (i.e. after 14 seconds), or the user clicks-through to the advertiser.click| A click through to the advertiser. See logClick in the unit code.clickother| A click through but not too the advertiser (e.g. to the find-out-more link).endvideo| Hurrah: the video played to the end.close| The lightbox was closed OR the browser page/tab was closed.install| To be logged (by the advertiser) if the user installs an app from the advert.consent-requested| The user was asked about profile tracking.consent-yes| The user said yes to profile tracking.consent-no| The user said no to profile tracking.spend| A budget spend event (e.g. a minview or click). The count of these is the number of events, and NOT the £ amount. NB: Spend events are now logged to both the DataLog "money" and "gl" dataspaces.average_view_seconds| Use with caution!adok| There is no adblocker present.adblock| There is an adblocker present (or rather: an ad-like request failed; this can also be caused by a bad internet connection).spendadjust| Created by BatchAllocateOrphanSpendEvents to fill in donation info for ad views that reached a donation but didn't allocate it to a charity.campaignend| TODO The campaign has ended - what was the total donation?
NB: the event names are designed to be good for grep and ES. Lower case, no spacing or punctuation.