Implementation

Outbrain is able to collect consent and opt out data directly from partner sites or applications or via third party partners who connect Outbrain to Partner sites or applications.

While Outbrain is able to collect the respective consent data itself through the widget code, it is the partner’s responsibility to make sure that the Outbrain widget can receive and process the consent signal. The partner must not send a null or invalid signal in cases where consent notices are required such as GDPR in Europe and CCPA in California.

GDPR

Outbrain is a participant in the IAB Transparency & Consent Framework and is able to read both V1.1 and V2 consent strings. Outbrain requires partners to implement an IAB approved consent management platform (“CMP”) which can be found on this page: https://iabeurope.eu/cmp-list/. Please note that V1.1 of the TCF is officially deprecated by the IAB and most vendors will not be able to process a V1.1 consent string any more.

When the partner has implemented an IAB approved CMP, Outbrain is able to collect the consent data automatically on most implementations, including JS widget on web and mobile web.

In case the Outbrain JS widget is served through a 3rd party mediation, it is necessary to check if __tcfapi is available (documented here). In case it is not available the consent string must be actively passed on in a macro as documented under the bullets web mediation and app mediation.

Special attention is needed for AMP pages where the partner needs to make sure that partner is following one of the methods described here.

For SDK implementations it is necessary that the partner implements an IAB approved CMP that is able to collect the consent from the users according to the IAB TCF V2.0 framework. Partner must use an up-to-date version of the Outbrain SDK which is able to retrieve and process the consent string. For IOS all versions support TCF V 2.0 onwards from Outbrain SDK 3.8.6. For Android TCF V2.0 is supported from version 3.9.1

CCPA

Outbrain supports the IAB CCPA Framework that allows users in California to opt out of the Sale of Personal Information as described here. Outbrain strongly recommends partners use CMP that supports passing on the CCPA signal. In either case the partner must make sure that Outbrain is able to retrieve and process the CCPA consent string in order to honour the user’s choice.

It is the partner’s responsibility to pass on the CCPA consent signal on every installation type for users in California.

Web Example

[code language=”html”]<div class="OUTBRAIN"
data-ob-contentUrl="http://DROP_PERMALINK_HERE"
data-widget-id="DROP_WIDGET_ID_HERE"
data-ob-installation-key="DROP_PARTNER_KEY_HERE"></div>
<script type="text/javascript" async="async"
src="https://widgets.outbrain.com/outbrain.js"></script>[/code]

Content URL

The permalink to identify the currently displayed content.

Partner Key

Add the partner key that you received from your Account Manager

[code language=”html”]data-ob-installation-key="DROP_PARTNER_KEY_HERE"[/code]

v3.7.8 – August 26, 2019

  • Bug fix – SDK crashed if rec image url was an empty string.
  • Bug fix – Viewability data null, add some protection in code to try to avoid “null pointer exception” crash.
  • Bug fix – Update UI in parent response for smartfeed with no children.
  • Bug fix – OBSmartFeedDefaultListener exception for startActivity with appContext.

v3.7.7 – July 15, 2019

  • Bug fix – Add protection in code to fix a crash happening on Activity restoration (Adapter.notifyItemRangeInserted null object reference) – part 2

v3.7.6 – July 11, 2019

  • Bug fix – Add protection in code to fix a crash happening on Activity restoration (Adapter.notifyItemRangeInserted null object reference)

v3.7.5 – July 8, 2019

  • Improvement: Add Outbrain.testLocation("us") for example, to simulate Geo in ODB requests.
  • Improvement: Add protection for non-valid url strings in pixels array. (folllowing a crash in production)
  • Improvement: Smartfeed in the middle (improved implementation)
  • Improvement: set recycleView is now a public method in OBSmartFeed

v3.7.0 – June 6, 2019

  • Feature: Support for Smartfeed in the middle of the RecycleView.
  • Feature: App developer can now use OBSmartFeedDefaultListener as a default listener instead of implementing one.
  • Improvement: getOutbrainAboutURL(Context ctx) is now deprecated. Use getOutbrainAboutURL() instead.
  • Improvement: OBSmartFeed method fetchMoreRecommendations() is now public.
  • Improvement: proguard will now allow the project to build in release mode
  • Improvement: update project to use the new Picasso lib version 2.7
  • Bug fix: new implementation for ViewabilityService editTmParameterInUrl() method (served reporting error).

v3.6.0 – April 4, 2019

  • Feature: new Smartfeed API (Multivac)
  • Feature: Viewability per listing
  • Feature: Served vs. Requested
  • Feature: Smartfeed pauseVideo method
  • Improvement: Update UI before fetchMoreRecommendations for parent widget
  • Improvement: Video – support reload of additional videos in the same WebView

v3.5.1 – February 5, 2019

  • SmartFeed – Sponsored label text color and background color shouldn’t changed for Custom UI

v3.5.0 – January 24, 2019

  • SmartFeed – Remove “Recommended by” from items header
  • SmartFeed – “chunk size” settings support
  • SmartFeed – BugFix: Publisher logo size

v3.4.7 – January 17, 2019

  • VideoWidget – Improvements: fetch recommendation only once per article and support recycle view
  • VideoWidget – update sample app (recycle view)
  • SmartFeed – Supports additional listener: OBSmartFeedAdvancedListener
  • SmartFeed – isVideoEligible field in OBSmartFeed
  • Smartfeed – Bug fix: Bad HTML encoded characters in recommendation title
  • Smartfeed – Bug fix: Visibility of recommendation source shouldn’t change for custom UI
  • Smartfeed – Bug fix: Shadow color should be transparent for non-paid recommendations

v3.4.4 – January 3, 2019

  • Support VideoWidget
  • Add Audience Campaigns Label field in OBRecommendation
  • Smartfeed onOutbrainRecsReceived listener to OBSmartFeedListener interface
  • Smartfeed – Improve the performance of the recycleview UI updates
  • Smartfeed – Add getSfItemType method – get the item type of an item in the recycleview
  • Smartfeed – Support set custom UI for SFItemType
  • Smartfeed – Support source format
  • Smartfeed – Add a new flag to test (simulate) RTB recs
  • Smartfeed – Bug fix: Header images background color should be transparent
  • Smartfeed – Bug fix: Recommendation title text color won’t change for custom UI

v3.4.3 – December 5, 2018

  • Smartfeed Paid Label support
  • RTL support
  • Viewability support for Smartfeed sub-widgets (children)

v3.4.1 – Novemeber 22, 2018

  • Bug fix: replace all clearOnScrollListeners with removeOnScrollListener

v3.4.0.beta1 – Novemeber 21, 2018

  • External ID
  • Update Google Play Services library to 15.0.1 (was 11.8.0)
  • Support RTL in Smartfeed, phase 1
  • Update SDK version logic, cleaner code

v3.3.0.beta1 – Novemeber 1, 2018

  • GDPR

v3.2.0.beta2 – October 22, 2018

  • bug fix: infinite smartfeed didnt work

v3.2.0.beta1 – October 21, 2018

  • Video player in Smartfeed
  • Improvement: add items to smart feed array on background thread
  • Support for Smartfeed with only a parent with single recommendation (no children)