Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ix.md #5239

Merged
merged 8 commits into from
Apr 4, 2024
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 61 additions & 12 deletions dev-docs/bidders/ix.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,11 @@

Follow these steps to configure your Prebid.js to specify that your ad slots are enabled for [Protected Audience](https://github.com/WICG/turtledove/blob/main/FLEDGE.md) auctions:

1. If required, update your Prebid.js version to 8.18.0 or later.
1. Index recommends that you update your Prebid.js version to 8.37.0 or later.<br />
**Note:** Prebid.js version 8.18.0 or later is supported. However, Prebid's `fledgeForGpt` module has been improved in version 8.37.0, which fixes some issues from the earlier version.
2. Build the `fledgeForGpt` module in your Prebid.js configuration by adding `fledgeForGpt` to the list of modules that you are already using. For more information about the module, see Prebid's [Fledge (Protected Audience) for GPT Module](/dev-docs/modules/fledgeForGpt.html) documentation.
3. Enable all ad units to use the `fledgeForGpt` module in your prebid.js configuration. You can do this in the global-level configuration, bidder level, or ad-unit level. For more information about the configurations, see Prebid's [Fledge (Protected Audience) for GPT Module](/dev-docs/modules/fledgeForGpt.html) documentation. Index recommends that you do this in the global-level configuration by using the `defaultForSlots` parameter with a value of `1`. <br />
**Note:** If you are using the `fledgeForGpt.bidders[]`, make sure that you add `ix` to the list of bidders.<br />
3. If you are using a Prebid.js version that is between 8.18.0 and 8.36.0, you must configure your ad units to make them eligible for Protected Audience API demand. You can do this in the global-level configuration, bidder level, or ad-unit level. For more information about the configurations, see Prebid's [Fledge (Protected Audience) for GPT Module](/dev-docs/modules/fledgeForGpt.html) documentation. Index recommends that you do this in the global-level configuration by using the `defaultForSlots` parameter with a value of `1`.<br />

The following shows an example of the configuration done at the global level:

```javascript
Expand All @@ -382,20 +383,68 @@
});
```

The following shows an example of the configuration done at the ad-unit level:
**Note:** If you are using the `fledgeForGpt.bidders[]`, make sure that you include `ix` to the list of bidders as follows:

```javascript
pbjs.addAdUnits({
code: "my-adunit-div",
// other config here
ortb2Imp: {
ext: {
ae: 1
}
}
pbjs.que.push(function() {
pbjs.setConfig({
fledgeForGpt: {
enabled: true,
bidders: ['ix', /* any other bidders */],
defaultForSlots: 1
}
});
});
```

4. If you are using Prebid.js version 8.37.0 or later, you must complete the following steps to make your ad units eligible for Protected Audience API demand:

Check failure on line 400 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Ordered list item prefix

dev-docs/bidders/ix.md:400:1 MD029/ol-prefix Ordered list item prefix [Expected: 1; Actual: 4; Style: 1/1/1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md
* In the `pbjs.setConfig().paapi` field, set the `defaultForSlots` parameter to `1`:

```javascript
pbjs.que.push(function() {
pbjs.setConfig({

Check failure on line 405 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:405:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
paapi: {

Check failure on line 406 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:406:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
enabled: true,

Check failure on line 407 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:407:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
defaultForSlots: 1

Check failure on line 408 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:408:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
bidders: ['ix', /* any other bidders */],

Check failure on line 409 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:409:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
});

Check failure on line 410 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:410:2 MD010/no-hard-tabs Hard tabs [Column: 2] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
});
```

* In the `paapi.gpt.autoconfig` field, set `autoconfig` to `false`. This step is important because, by default, the `fledgeForGpt` module expects the Google Publisher Tag (GPT) ad units to be loaded before the Protected Audience configuration is added to the ad unit. Setting `autoconfig` to `false` will avoid any race conditions resulting from asynchronous libraries being loaded out of order, which would prevent the ad unit from being properly configured for Protected Audience API.<br />
**Note:** The `fledgeForGpt.autoconfig` property is also backward compatible and can be used in place of the `paapi.gpt.autoconfig` property. However, Index recommends that you use the `paapi.gpt.autoconfig` property.<br />

```javascript
pbjs.que.push(function() {
pbjs.setConfig({

Check failure on line 419 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:419:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
paapi: {

Check failure on line 420 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:420:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
enabled: true,

Check failure on line 421 in dev-docs/bidders/ix.md

View workflow job for this annotation

GitHub Actions / run markdownlint

Hard tabs

dev-docs/bidders/ix.md:421:1 MD010/no-hard-tabs Hard tabs [Column: 1] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
defaultForSlots: 1
gpt: {
autoconfig: false
},
bidders: ['ix', /* any other bidders */],
});
});
```

* In the `pbjs.requestBids.bidsBackHandler` function, call the `pbjs.setPAAPIConfigForGPT()` function as follows:

```javascript
pbjs.requestBids({, ,
// ...
bidsBackHandler: function(bids, timedOut, auctionId) {
pbjs.setPAAPIConfigForGPT();
pbjs.setTargetingForGPTAsync();
// ...
}
})
```

**Note:** When calling the pbjs.setPAAPIConfigForGPT(); function, make sure that you check the following:</br>
a. The function must be called in the `bidsBackHandler` each time new bids are requested (for example when refreshing `adSlots`). This is important because, when `autoconfig` is disabled, the `auctionConfig` needs to be associated with a GPT ad unit manually by calling `pbjs.setPAAPIConfigForGPT()`.</br>
b. The function must be called before the `pbjs.setTargetingForGPTAsync()` function. This is important because the Protected Audience configuration needs to be associated with a GPT ad unit before the Google Ad Manager call is executed.</br>

<a id="signal-inventory-using-external-ids"></a>

## Signal inventory using external IDs
Expand Down
Loading