---
title: RevShifter
description: RevShifter shows from the bottom or top of the page on scroll or pan. It's used by placing the script and ad code definition on the page. Default values are shown. your api key your widget domain your
---

[Skip to content](https://help.revcontent.com/knowledge/revshifter#main-content)

[![rc\_help\_center\_logo\_color](https://help.revcontent.com/hs-fs/hubfs/rc_help_center_logo_color.png?width=275&height=66&name=rc_help_center_logo_color.png)](https://help.revcontent.com/knowledge?hsLang=en)

Open main navigation

Close main navigation

- [Go to RevContent.com](https://www.revcontent.com/)

[Go to RevContent.com](https://www.revcontent.com/)

 Got questions? Find the answers here.

- There are no suggestions because the search field is empty.

1. [Help Center](https://help.revcontent.com/knowledge?hsLang=en)
2. [Publishers](https://help.revcontent.com/knowledge/publishers?hsLang=en)
3. [Labs Widgets](https://help.revcontent.com/knowledge/publishers?hsLang=en#labs-widgets)

# RevShifter

![rev\_shifter](https://help.revcontent.com/hs-fs/hubfs/rev_shifter.gif?width=688&name=rev_shifter.gif)

RevShifter shows from the bottom or top of the page on scroll or pan. It's used by placing the script and ad code definition on the page.

```
<script src="https://labs-cdn.revcontent.com/build/revshifter.min.js"></script><script>    var shifter = new RevShifter({        api_key: 'api_key',        pub_id: 123,        widget_id: 456,        domain: 'mysite.com'    });</script>
```

#### Options

Default values are shown.

### api\_key(required)

> your api key

### domain(required)

> your widget domain

### pub\_id(required)

> your pub id

### widget\_id(required)

> your widget id

### ad\_border

Display a border around each ad

```
ad_border: false
```

### ad\_overlay

Key value ad overlay config object where the key is the content type and the value is the icon to use. For example to use the video\_rectangle icon for video content use video: 'video\_rectangle'. The icon will be appended to the .rev-ad element.

```
ad_overlay: false
```

### ad\_overlay\_position

The position of the ad overlay icon. Available options include center, top\_left, top\_right, bottom\_right and bottom\_left.

```
ad_overlay_position: 'bottom_right'
```

### closed\_hours

Number of hours to keep closed

```
closed_hours: 24
```

### css

Additional CSS to append.

```
css: ''
```

### devices

Devices to show on. Options include phone, tablet and desktop.

```
devices: [    'phone',     'tablet',     'desktop']
```

### disclosure\_text

Text to display for disclosure. This text triggers the disclosure/interests dialog on click.

```
disclosure_text: 'Sponsored by Revcontent'
```

### header

Text displayed above ads. Wrapped inside \`\`\`\`\`\`.

```
header: 'Trending Now'
```

### hide\_footer

Set true to not display the disclosure text.

```
hide_footer: false
```

### hide\_header

Set true to not display the headerl

```
hide_header: true
```

### hide\_on\_show\_transition

Set false to prevent RevShifter from hiding while it is still in a show transition.

```
hide_on_show_transition: true
```

### hide\_provider

Display the provider in the ads.

```
hide_provider: false
```

### image\_overlay

Key value image overlay object config where the key is the content type and the value is the icon to use. For example to use the video\_rectangle icon for video content use video: 'video\_rectangle'. The icon will be appended to the .rev-image element.

```
image_overlay: false
```

### image\_overlay\_position

The position of the image overlay icon. Available options include center, top\_left, top\_right, bottom\_right and bottom\_left.

```
image_overlay_position: 'center'
```

### max\_headline

Show all of the headline for all ads. No ellipsis. This option overrides headline\_size

```
max_headline: true
```

### overlay\_icons

Pass in custom icons where the key is the icon name and the value is the svg icon. For example {article\_square: '\<svg\>\</svg\>'}. Default icons include video\_rectangle, video\_square, video\_circle1, video\_circle2 and video\_triangle.

```
overlay_icons: false
```

### pagination\_dots

To show the pagination dots

```
pagination_dots: false
```

### per\_row

Number of ads per row. Object or single value. Pass a single number to be used for every breakpoint or provide a value for each breakpoint.

```
per_row: {    xxs: 1,    xs: 1,    sm: 2,    md: 2,    lg: 3,    xl: 4,    xxl: 5}
```

### side

Show from the top or bottom of the page

```
side: 'bottom'
```

### show\_on\_load

Show right away on page load without waiting for a user scroll.

```
show_on_load: false
```

### show\_on\_scroll

Show on vertical scroll event

```
show_on_scroll: true
```

### show\_on\_touch

Show on vertical pan touch gesture

```
show_on_touch: true
```

### show\_visible\_selector

query selector for element that will trigger widget to show once visible

```
show_visible_selector: false
```

### scroll\_natural

By default scrolling up will hide and scrolling down will show. Set to false for the opposite behavior.

```
scroll_natural: true
```

### query\_params

Key value object for query params to send to server. Can be multidimensional

```
query_params: false
```

The example below demonstrates how to pass subid values. The resulting query parameters will be ?revsub\[key\]=value

```
query_params: {    revsub: {        key: 'value'    }}
```

### rows

Number of rows to display. Object or single value. Pass a single number to be used for every breakpoint or provide a value for each breakpoint.

```
rows: 1
```

### touch\_simulation

Shows an animation with a finger icon showing that the grid can be paginated.

```
touch_simulation: false
```

### testing

Ignores closed\_hours if true

```
testing: false
```

### text\_right

Text will be positioned to the right of the image

```
text_right: true
```

### text\_right\_height

Value in pixels of the ad image if text\_right is enabled

```
text_right_height: 100
```

### transition\_duration

Duration in milliseconds that it takes for RevShifter to show from the bottom/top of the page.

```
transition_duration: 1200
```

### url

Use an alternate API url

```
url: 'https://trends.revcontent.com/api/v1/'
```

### user\_agent

Pass user\_agent param to API

```
user_agent: false
```

### user\_ip

Pass user\_ip to API

```
user_ip: false
```

- [General Information](https://help.revcontent.com/knowledge/general-information?hsLang=en)
- [Compliance Policies](https://help.revcontent.com/knowledge/compliance-policies?hsLang=en#main-content)

    - [Campaign Guidelines](https://help.revcontent.com/knowledge/compliance-policies?hsLang=en#campaign-guidelines)
    - [Site Guidelines](https://help.revcontent.com/knowledge/compliance-policies?hsLang=en#site-guidelines)
    - [Resources](https://help.revcontent.com/knowledge/compliance-policies?hsLang=en#resources)
- [Native API](https://help.revcontent.com/knowledge/native-api?hsLang=en)
- [Advertisers](https://help.revcontent.com/knowledge/advertisers?hsLang=en#main-content)

    - [RevContent Best Practices](https://help.revcontent.com/knowledge/advertisers?hsLang=en#revcontent-best-practices)
    - [Campaign Options](https://help.revcontent.com/knowledge/advertisers?hsLang=en#campaign-options)
    - [Optimization Tips and Tools](https://help.revcontent.com/knowledge/advertisers?hsLang=en#optimization-tips-and-tools)
    - [Troubleshooting](https://help.revcontent.com/knowledge/advertisers?hsLang=en#troubleshooting)
    - [Advertiser Tracking](https://help.revcontent.com/knowledge/advertisers?hsLang=en#advertiser-tracking)
    - [Advertiser API](https://help.revcontent.com/knowledge/advertisers?hsLang=en#advertiser-api)
    - [Accounting & Billing](https://help.revcontent.com/knowledge/advertisers?hsLang=en#accounting-billing)
    - [Demand-side Platforms](https://help.revcontent.com/knowledge/advertisers?hsLang=en#demand-side-platforms)
- [Publishers](https://help.revcontent.com/knowledge/publishers?hsLang=en#main-content)

    - [Publisher Account](https://help.revcontent.com/knowledge/publishers?hsLang=en#publisher-account)
    - [Widget Settings & Options](https://help.revcontent.com/knowledge/publishers?hsLang=en#widget-settings-options)
    - [Labs Widgets](https://help.revcontent.com/knowledge/publishers?hsLang=en#labs-widgets)
    - [Publisher Reporting](https://help.revcontent.com/knowledge/publishers?hsLang=en#publisher-reporting)
    - [Publisher Compliance](https://help.revcontent.com/knowledge/publishers?hsLang=en#publisher-compliance)
    - [Publisher Payments](https://help.revcontent.com/knowledge/publishers?hsLang=en#publisher-payments)
    - [Email](https://help.revcontent.com/knowledge/publishers?hsLang=en#email)
    - [Supply-side Platforms](https://help.revcontent.com/knowledge/publishers?hsLang=en#supply-side-platforms)
- [Email Monetization](https://help.revcontent.com/knowledge/email-monetization?hsLang=en)
- [Terms & Agreements](https://help.revcontent.com/knowledge/terms-agreements?hsLang=en)

[![Chill listening crop-3](https://help.revcontent.com/hs-fs/hubfs/revcontent-mark-BK-1.png?width=30&height=28&name=revcontent-mark-BK-1.png "Chill listening crop-3")](https://revcontent.com/)

© 2026, RevContent, LLC. All Rights Reserved.

[Copyright](https://www.revcontent.com/policy/copyright) [Cookie Policy](https://www.revcontent.com/policy/cookie-policy) [Privacy Policies](https://www.revcontent.com/policy/privacy-policy) [Opt Out](https://www.revcontent.com/legal/optout/?hsCtaTracking=5306afdf-6769-4bd9-87ab-280b36dd7363%7C39c8c8b7-a7b1-4c60-9381-2624d1633c34)