220 likes | 501 Views
SmartAds Bringing Contextual Ads to Mobile Apps. By Dongcheal Han and Umer Hassan. Statistics (2011 census data). US consumers spend 30% more time on mobile apps compared to traditional web However, advertisement companies spend 16 times less on mobile ads than on webpage ads
E N D
SmartAdsBringing Contextual Ads to Mobile Apps By Dongcheal Han and Umer Hassan
Statistics (2011 census data) • US consumers spend 30% more time on mobile apps compared to traditional web • However, advertisement companies spend 16 times less on mobile ads than on webpage ads • Less than 1% of overall advertisement budget is spent on mobile ads
The Problem Today’s mobile ads are not contextual; it does not take into account the content of the page it is displayed on
The Solution Display advertisements that fit the context of the screen
Differences • Web pages can be crawled to be indexed and choose an ad suitable to their context • Content shown in apps are generated dynamically or embedded in the apps and cannot be crawled • Therefore, contextual advertisements in mobile apps must be found at runtime
Challenges of Mobile Ads • Limited resources : Dynamically scraping content, extracting keywords, sending data through network may incur excessive overhead • User privacy may be compromised while sending content of the page to network
Methodology • PhoneMonkey : Emulate various user interactions on the mobile device (Swipe, touch, etc) • Instrumented App : App that is equipped with custom logging code to log all the contents of each page it navigates
Methodology • Top 1200 apps are ran 30 times each with PhoneMonkey with random UI navigational control • Content are logged for each page rendered
KEX • KEX (Keyword Extractor) assigns a weighted value of a word used in the content. (0 ~ 1) • Based on various attributes such as where the word appears in the content, whether it is bolded, how many advertisers are interested (bidding value), etc • Weight higher than 0.1 considered as Keywords.
Results Page data of half of the apps contain more than 20 Keywords that could be used for contextual ads
Limitations of PhoneMonkey • Navigation is randomized; vastly different keywords detected in the same app (half of the apps show 55% change in keywords) • Cannot emulate human input, access through custom UI control, large number of pages not navigated due to time constraints for each app session
Online Extraction • Page data will be determined by User-controlled navigation; navigation will not be random • Able to access pages PhoneMonkey cannot
Architecture • Client-side ad library and ad server • Ad network : Third party entity that accepts bids and ads from advertisers
Utility • Get keywords that are prominent on the app page, while relevant to available mobile ads. Estimated probability : Weight : Local feature :
KEX local features AnywhereCount: total times of appearance NearBeginningCount: times of appearance at the beginning of the page SentenceBeginningCount: times of word starting a sentence PhraseLengthInWord: number of words in the phrase containing the word PhraseLengthInChar: number of characters in the phrase containing the word MessageLength: length of the line containing the word Capitalization: times of capitalizing the word Font size: Font size of the word • With above features, KEX determines the weight of the word, which in turn determines if the word is a keyword or not
Efficiency • Aim to have minimal impact on memory consumption, network, CPU, and energy footprint • Global knowledge (knowing the advertisers’ bid on keywords) is maintained on the server • Client does not send all the found keywords, instead sends only relevant ones that have bids (Bloom Filter)
Bloom Filter • Space-efficient probabilistic data structure that tests if an element is a member of a set • Sending 100% of keywords trace takes too much communication overhead. Covering 90% is efficient
Privacy • The ad server knows only the pre-determined ad keywords set by advertisers from the client • Server maintains dictionary of all ad keywords’ hashvalues and ignores all non-ad keyword’s hashvalues
Results • Total 2500 unique pages from top 353 apps from Windows Phone marketplace • Compared the baseline ads, from ads modified by using SmartAds and let 400 users choose the level of relevancy
Results • More than doubles the relevancy of advertisements to the app page shown
End-to-End Performance • Average end-to-end time is 650ms which Is comparable to that of other ad controls • Ad network query runtime is not dependent on SmartAds
Conclusion • SmartAds more than doubles the number of relevant ads shown while having minimal impact on device overhead (CPU, Memory, Network, Battery) and secures user privacy