# How to implement Direct Campaigns without Marfeel's Adserver.
This article will guide you through the implementation of Direct Campaigns that don't go through Marfeel's ad server.
With this implementation the tenant will not have the same features as when using Marfeel's ad server for direct campaigns:
- No control on the duration of the campaign
- No support for geo-targeting
- No balancer enabled to share placements between Marfeel ads and the campaign
- No capping allowed: Not possible to configure impressions/user per day
TIP
Some of these features may still be accessible. If needed, contact the PI team to evaluate your case.
That being said, it is still possible to configure a Direct Campaign with any ad server:
# Placement definition
The placements for direct campaigns with different ad servers must be in the twister.json
.
Create the placement(s) in the paidImpressions
object, as if they are in the inventory.json
.
{
"hostname": "example.com",
...,
"paidImpressions": {
"inline_2_web": {
"adServer": "directWeb",
"params": {
"SCRIPT_CODE": "abc.js",
}
}
}
}
Include in the params
object any additional information that will vary by position.
TIP
Give an explicit name to the ad server, to make its role clear.
# Ad server definition
In the tenant's inventory.json
, create the ad server:
{
...,
"adServers": {
...,
"directWeb": {
"type": "sunmedia",
"json": {
"script": "//static.sunmedia.tv/integrations/${SCRIPT_CODE}/${SCRIPT_CODE}.js"
}
}
}
}
Add all the parameters needed for the ad server, following the ad servers catalog.
# Validation
Test using marfeelads=2
that all the new parameters are taken into account.
Include a screenshot in your PR description.
TIP
The direct campaign starts running as soon as your changes are merged.
To stop the campaign, and for Marfeel to run our ads again, you have to remove the paidImpressions
placements at the agreed-upon date.