GADRequest parameter contents

346 views
Skip to first unread message

taylor...@adara.com

unread,
Jan 20, 2015, 4:09:59 PM1/20/15
to google-adm...@googlegroups.com
Hi,

I will try to explain my problem as clearly as possible. I work with an online advertising company that is integrated with the google ad network and bids on ad space. That is, we receive bid requests and respond with bid responses. In order to perform end-to-end testing of our mobile ads, I am creating an iOS test application that contains a GADBannerView object. This object makes a GADRequest to the google ad network. My understanding is that if we configure our own bidding ecosystem (which should be receiving bid requests from google) to target the idfa associated with the phone on which I am running the test application, I can bid on the bid request associated with the GADRequest and see my own ad on my own device. 

Right now, our own bidding ecosystem is not receiving the bid request from the google network. To this end, my question is two-fold:
1. Can you verify for me that the GADRequest is indeed making a call to the RTB google ad network? This is an underlying assumption that needs to be verified.
2. Can you verify for me that targeting information (like IDFA) is being passed in the call to the RTB google ad network? I used Charles to sniff the http traffic from my device and the ad request had the parameters you can see in the attached screenshot. My guess is that if the IDFA is being passed, which I need to verify, it would be encrypted into the "ms" string? 

Thanks for your help,
Taylor
iphone_parameters.png

taylor...@adara.com

unread,
Jan 20, 2015, 4:17:42 PM1/20/15
to google-adm...@googlegroups.com
Also, I don't think it's important, but versioning info:

SDK Version: afma-sdk-i-v6.12.2

Running on iPhone 6 running iOS 8.1.2

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Jan 20, 2015, 9:34:02 PM1/20/15
to google-adm...@googlegroups.com
Thanks for posting, and for providing so much info (the Charles log in particular).  I want to make sure I'm giving you a correct response, so I'm going to reach out to one of our AdExchange engineers.  I will reply here once I've heard back from him.

-Andrew

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Jan 21, 2015, 12:52:44 PM1/21/15
to google-adm...@googlegroups.com
I've heard back from my AdExchange colleague and have some more information for you:

1. Can you verify for me that the GADRequest is indeed making a call to the RTB google ad network? This is an underlying assumption that needs to be verified.

As long as you're using an Ad Unit ID that's been properly configured to enter the Google Display network and go up for auction on AdExchange, the GADRequest object will pass along the correct request and initiate that process.  Note that other buyers could potentially receive bid on your requested impression as well.

2. Can you verify for me that targeting information (like IDFA) is being passed in the call to the RTB google ad network? I used Charles to sniff the http traffic from my device and the ad request had the parameters you can see in the attached screenshot. My guess is that if the IDFA is being passed, which I need to verify, it would be encrypted into the "ms" string? 

To keep things clear, I'm just going to quote my colleague:

"...an RTB bidder would receive it in this proto. Note that an encrypted hashed IDFA is sent along via the encrypted_hashed_idfa field, which the advertiser could then add to a UserList for targeting purposes. The only problem is that this IDFA is a hash of the actual IDFA. If they knew what this [hashed value] was, then they could target their test app. I'm not sure if that last part is something they can actually do though."

Thus it looks like RTB bidders receive a one-way hash of the IDFA that they can use as a unique identifer, but it would be difficult to map that value back to the actual IDFA if you're trying to link up profiles from different sources.  I'm guessing that as an industry-specific platform this may be what you're trying to do, so I thought I'd mention it.

-Andrew

taylor...@adara.com

unread,
Jan 21, 2015, 2:38:14 PM1/21/15
to google-adm...@googlegroups.com
Thank you Andrew for the effort on your part, in particular reaching out to an AdExchange engineer -- very much appreciated. 

As an aside, I have verified that on my side we store the appropriate hashed versions of the IDFA so that the one-way process can be two-way. That is, we can receive the hashed IDFA from the bid request and look it up in a table to retrieve the IDFA itself (this is for the case when we have seen the IDFA before) along with linked data about that IDFA. 

Now for something a bit more related to the AdMob SDK...
The problem we are trying to solve is to determine why our ad is not clickable within a GADBannerView (probably put the horse before the cart here by not starting with this, my fault). The URL we are providing is:

"http://ag.yieldoptimizer.com/ag/st?y=i&w=320&h=50&n=20&ac=2353141&test=true&inapp=true&render=app&tpc=http://adclick.g.doubleclick.net/aclk%3Fsa%3Dl%26ai%3DC9ycXbmpFVIjCFuLZ0AHY4oGgB_LZxNhAwpHDv3DAjbcBEAEgAFCAx-HEBGDJvrmH4KO0EIIBG2NhLWFwcC1wdWItODQ5NzA0NTgyMjg0NDIyOaABooz68QPIAQmoAwGYBACqBKEBT9AnZY_i9qyP3jFjEqQtZ3AQnzCuEwBOQdEfSNvHAQ0xb6B8k552fF3DwYWWD3fCz0FTTv0nHdEpj7CfEWKQtmW2jcnDYxOXCTsID3snlkvUXy1GE3jAho99uHHLLv21gzCz128NR3r96xEWxh7Bqy-M-g6ycV1Z1WTl4hAUkKxEWhNAvoKrc24Lb7o87HhBS3tCMVl03enPEuAu9sGzLGOABoG_7vSo57WqWaAGIQ%26num%3D1%26sig%3DAOD64_1Y9Rc8JiERIhXDaARPhXRRm-0F3w%26client%3Dca-app-pub-8497045822844229%26adurl%3D"

You can see that if you copy and paste this URL into a web browser, the click redirects as expected. This also works in a mobile web browser. The problem begins once we start talking about in-app. Here I am using in-app to mean any way of interacting with the web that isn't the native safari application: apple mail, WebView components within apps, etc. 

To test, I placed this URL into a WebView component in an iOS Simulator. The first screenshot attached is the HTML of the page before the click occurs. The second screenshot attached is the HTML of the page after the click occurs (apologies if it is difficult to read). You can see that the reason the redirect is failing is that the iframe is being appended to the page. 

Curiously, we found that removing the "render=app" portion from the URL solved the problem, at least in our WebView component. Can you give any insight into this? Are we missing a crucial best practice here? 


Happy to provide additional clarification if needed. Once again thanks for your help

post-click.png
pre-click.png

taylor...@adara.com

unread,
Jan 21, 2015, 3:48:15 PM1/21/15
to google-adm...@googlegroups.com
Passing along some more information:

"A little background: Originally when we certified for mobile ad serving, we didn't have the render=app flag at all. We always just rendered in-app image ads exactly how we do for web impressions. It passed certification for IOS... but failed for Android, because the click did not escape the app ( it could not open a new browser window ).
For Android, we wound up having to use this javascript library to opend clicks.  https://support.google.com/dfp_premium/answer/1656921?hl=en... which is triggered by "render=app".   We assumed it would work for IOS also -- since we passed certification after the change."

taylor...@adara.com

unread,
Jan 21, 2015, 4:38:06 PM1/21/15
to google-adm...@googlegroups.com
Thanks for the help everyone -- my questions are probably a better fit for the 3rd Party Ad Serving team. I have contacts there that I will follow-up with. Thanks again

Van Pham

unread,
Aug 4, 2016, 1:08:21 PM8/4/16
to Google Mobile Ads SDK Developers
Hi,

I work at an AdX RTB partner (Manage.com) and currently also trying to create a test app to be able to preview our ads on the exchange. I have integrated both GADInterstitial and GADBannerView however I am not able to see any bids from AdX with my device ID.  Is there any specific setting that needs to be set to see bids from Manage?

Here is an example of a ad requests from my test device:

https://googleads.g.doubleclick.net/mads/gma?force_https=1&u_sso=any&ios_base_sdk=9.3&request_id=1&platform=iPhone&app_name=1.iphone.com.manage.Manage-Preview&u_mwsso=any&u_so=p&js=afma-sdk-i-v7.8.1&ios_app_volume=1&ios_output_volume=0&request_origin=pub&ms=cCBZS35xhfKj9dELmUb1eMKmpS_mj3hdIFdKAP_By8x5vBMHe-dzaP5L_TfbVDkINbIRbI8mBSkD7fTvRLdPSaf7IFnaXWU41lOAcN-bWtmxJSQjje_hKpWbWjOAWly0hn5b_XLeuADwQSCOIODy0UkkXxBOXcDHjVQ7MaAyK6-CDk631P4QOkdjAHERVPdd8_xmBbMvF5bnNx2qoZS4zhRVQFKpHs7OaYx3Avz-AYLoK_SWSDP3O-L3z5UhH1jOeoLrxcuWUoNoscD7Xoff3eAB-XApEVcwZ2VYfPogg9xpiQB4q_l-WvdhlnABk9arRNA6VCa95Oi4r9oMzNNpTQ&hl=en&u_sd=2&ios_key_window_w=375&cap_noiap=0&cellular_country_code=310&u_w=375&ios_radio=CTRadioAccessTechnologyLTE&u_h=667&submodel=iPhone7%2C2&ios_key_window_h=667&cap_bs=1&net=wi&ios_app_muted=0&cellular_network_code=410&format=320x50_mb&forceHttps=true&_package_name=com.manage.Manage-Preview&u_audio=3&an=1.iphone.com.manage.Manage-Preview&swipeable=1&adk=3200953706&session_id=13466327870594788849&preqs=0&currts=1&seq_num=1&basets=1&output=html&region=mobile_app&u_tz=-420&client_sdk=1&ex=1&client=ca-app-pub-3175977357884946&slotname=1995198148&_hl=en-us&gsb=wi&swdr=false&bst=2&caps=interactiveVideo_inlineVideo_mraid1_mraid2_th_autoplay_mediation_av_sdkAdmobApiForAds_di_transparentBackground_sdkVideo_aso_sfv_dinm_dim&blockAutoClicks=true&_efs=false&includeDoritos=true&eid=46621136&tcar=9&jsv=3-production-20160718_RC00&urll=1433

https://googleads.g.doubleclick.net/mads/gma?u_sso=p&ios_base_sdk=9.3&request_id=12&platform=iPhone&app_name=2.iphone.com.manage.Manage-Preview&u_mwsso=p&u_so=p&js=afma-sdk-i-v7.8.1&ios_app_volume=1&ios_output_volume=1&request_origin=pub&ms=11&hl=en&u_sd=2&ios_key_window_w=375&cap_noiap=0&u_w=375&u_h=667&submodel=x86_64&ios_key_window_h=667&cap_bs=1&net=wi&ios_app_muted=0&adtest=on&format=320x50_mb&_package_name=com.manage.Manage-Preview&u_audio=4&an=2.iphone.com.manage.Manage-Preview&swipeable=1&adk=3200953706&currts=371032&oar=0&bas_on=0&basets=1&bas_off=0&session_id=4118943418214909960&seq_num=12&pimp=11&preqs=11&treq=309944&tfetch=309953&tresponse=311030&tload=311040&dload=1096&timp=0&pcc=0&ismediation=false&output=html&region=mobile_app&u_tz=-420&client_sdk=1&ex=1&client=ca-app-pub-3175977357884946&slotname=1995198148&askip=1&_hl=en-us&gsb=wi&swdr=false&caps=interactiveVideo_inlineVideo_mraid1_mraid2_th_autoplay_mediation_av_sdkAdmobApiForAds_di_transparentBackground_sdkVideo_aso_sfv_dinm_dim&blockAutoClicks=true&_efs=false&forceHttps=true&includeDoritos=true&eid=46621136&tcar=0&jsv=3-production-20160718_RC00&urll=1131

Any help is appreciated.

Van

On Tuesday, January 20, 2015 at 1:09:59 PM UTC-8, taylor...@adara.com wrote:
Reply all
Reply to author
Forward
0 new messages