which step is for Google DFP impression - google-dfp

I wonder which code makes DFP counting.
There are couple steps.
googletag.defineSlot().addService(googletag.pubads());
Googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.cmd.push(function() { googletag.display(); });
If I don't call googletag.display method at step4, I guess impression doesn't increase. Is it correct?
ps.The reason I ask this question is I don't have permission to access 1,2,3 codes.But I need to hide Ads.
Thank you.

DFP counts an impression once an ad is selected on the server and returned to the client.
Since you are using SingleRequest(), the impression is already counted before the creative gets rendered to the DOM.
This said, the impression in your scenario is counted at step 3.
It can cause many issues, because the SingleRequest() doesn't care if the push function is defined on your page or not. Therefore it could happen that 5 impressions are counted, while only 2 ads are served on the page.
If you decide to not use SingleRequest(), DFP will count one impression with every single push function. (Step 4)
There is the view-macro, which you implement in the creative itself. In this case an impression is triggered once 20% of the creative is actively seen by the user for at least one second, or when the first frame of a video-creative is shown.

Related

google ad-sense is not populating the ads in my website

I am trying to populate google ad-sense into my client website and i am using
https://www.npmjs.com/package/angular-google-adsense
With view page source on msbionlineclasses.com you can see on the index page the directive is been called.
Still i am getting a blank item. Let me know the reason?
Update-1
I am getting as AD:1
Usually google starts analysing your website traffic patterns and content type once your adsense code goes live i.e. after implementing it into your HTML page.
For few days (usually 1-2 days), it will only show the empty placeholders, which is the case with you right now I guess.
Wait for 2 days and you will be able to see the results automatically.
P.S. - the usual practice I follow is to have only one adsense implementation in the footer where empty placeholder will not bother the visitors as well as the look of the page. Once it is working, implement as desired.

Facebook Pixel Stats GET / Reading

I have a Facebook Pixel on my website that is tracking events. I saw on the Ads Manager dashboard, that the pixel logs my events in a categorized way, i.e.:
PageView, ViewContent, InitiateCheckout, etc.
Although when logging stats, I include some extra parameters like the product_id maybe or other things, that way when the PageView is being logged, at least I will know which product_id it refers to.
The problem is that the Facebook Ads Dashboard doesn't show any of the extra parameters, it only displays the Count field.
After doing some research, I found this link on Facebook Pixel Stats, where they claim:
Use the Facebook Pixel Stats edge to get pixel statistics.
I tried using the Graph API Explorer, and even the iOS FB SDK for it (API Here) they both return an empty data array:
{
"data": [
]
}
I tried multiple parameter combinations, fields, and everything else to no avail.
If anyone knows whether I'm looking at the wrong place, or what not, all I'm interested in is reading those "extra" parameters that I'm appending to every FB Pixel event I log. Thank you!
You need specifing the parameters for it.
Example:
{fb_pixel_id}/stats?aggregation=url
The answer is displayed for a specific period of time in the past - I would say 24 hours.
You can use paging at the bottom of the json response for going back in time: use the link provided in the content of the field 'previous', and you can step back day by day.

What is the most optimized way to include one set of DFP tags as a creative into another DFP account?

I have implemented dfp ad code across our site using what I'll call account A.
We have a contract with account B to serve ads with 100% fill on a couple of placements on our site.
Ad network B has provided us with a DFP account for the placements they are filling for us. I can generate tags etc.
The way I have it set up now is that in Account A. I have created an order and line items for the units we want to fill with B's ads. For the creative I am currently using the passback tags that I can generate in Account B and adding them to A as a third party creative.
<script type='text/javascript' src='http://www.googletagservices.com/tag/js/gpt.js'>
googletag.pubads().definePassback('/XXXXX/XX/XX/XXX', [[1, 1], [320, 50], [728, 90], [160, 600], [300, 250]]).display();
</script>
Ads are being served, but the fill rate and # of impressions when serving B via A is down about 40% than when I put B's code directly into the page. I suppose that could be a latency drop since I'm making an extra server trip, but that seems like an awfully large penalty.
What I'm wondering is whether this is the correct way to handle this. I see the option for "DoubleClick Tag" creative in A, but I can't see how to generate or build that tag in B's interface. Is there a standard format for "DoubleClick Tag" creatives that I would just build from what I know in B.
Of if there is a better way to do this, I'd love to hear it.
Are you sure that B isn't showing 100% fill on their end when running as a passback? This is an interesting setup, and I don't actually know if that's how it's supposed to display.
That said, I do know that when using passbacks, DFP is going to double-count impressions. It'll show one impression for the initial request for Account A, and then again impression for the passback. That would halve your fill rate on Account A, even though you're still showing an ad on every page load. AFAIK, there's no way around this.
From Google's documentation:

How to search Facebook's "invitable_friends" results

I have a Facebook app, and I'd like to allow my users to invite their Facebook friends to my app. The proper endpoint is /me/invitable_friends which is working well. But towards the bottom of that doc page, they recommend implementing a "search box" to filter the results, yet they don't offer any example of how to do this. I've searched around and haven't found anything.
It doesn't appear as though you can pass additional params for filtering the results. Obviously I can filter the results after the fact, but that's not scalable since the API only returns ~20 users at a time. That limit is modifiable (I believe), though it's of course not wise to bump it too high.
So how can I build a search box interface if I can't pass the search text to the endpoint? I must be missing something.
Thanks in advance.
PS - I'm using the JS SDK.
You should probably file a bug.
Based on the documentation the default size is 1000 records (average Facebook friend list size is 300-400)
If you don't see the next parameter at the end of the result under paging then there are no more results.

Google analytics experiment redirect

Hi I have an issue with experiments.
This is my original page: http://cellulem.netlogiq.com/test1.html
and the variations 1: http://cellulem.netlogiq.com/test2.html
The problem is when I access the test1.html page, it redirected me always on the same page, after a few seconds.
I inserted the experiment code right after the head tag, and after that the tracking code.
so any ideas why???
This sounds like expected behaviour. The experiment redirects you to the same page because recurring visitors need to see the same page for every pageview/visits (it would confuse the heck out of your visitors were they to see different pages for every pageview, plus it would ruin your experiment).
Try and delete your cookies between reloads so the Google does not recognize you as recurring visitor. Try at least ten reloads (the code redirects randomly, not alternating - it's not unusual to get the same page four or five times in a row if you just have one variation).
Updated to include the discussion from the comments:
The experiment code only goes into the original page (else there will be unwanted redirects on other pages). If you have a common header in your template you could check if you are on the original page by inspecting the current url, like so:
if(window.location.href === 'original.html ') {
// display experiment code
}