diff --git a/config/schema/dfp.schema.yml b/config/schema/dfp.schema.yml
index 78c105f..3a31550 100644
--- a/config/schema/dfp.schema.yml
+++ b/config/schema/dfp.schema.yml
@@ -63,6 +63,9 @@ dfp.tag.*:
     adunit:
       type: string
       label: 'Ad unit'
+    out_of_page:
+      type: boolean
+      label: 'out of page'
     slug:
       type: string
       label: 'Slug'
diff --git a/src/Entity/Tag.php b/src/Entity/Tag.php
index 56a0d1d..ac64572 100644
--- a/src/Entity/Tag.php
+++ b/src/Entity/Tag.php
@@ -44,6 +44,7 @@ use Drupal\Core\Entity\EntityStorageInterface;
  *     "slot",
  *     "size",
  *     "adunit",
+ *     "out_of_page",
  *     "slug",
  *     "block",
  *     "short_tag",
@@ -186,6 +187,14 @@ class Tag extends ConfigEntityBase implements TagInterface {
   /**
    * {@inheritdoc}
    */
+  public function outOfPage() {
+    return $this->out_of_page;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
   public function shortTag() {
     return $this->short_tag;
   }
diff --git a/src/Entity/TagInterface.php b/src/Entity/TagInterface.php
index fb6f006..c715f67 100644
--- a/src/Entity/TagInterface.php
+++ b/src/Entity/TagInterface.php
@@ -45,6 +45,15 @@ interface TagInterface extends ConfigEntityInterface {
    */
   public function adunit();
 
+
+  /**
+   * Gets out_of_page.
+   *
+   * @return boolean
+   *   The out_of_page boolean.
+   */
+  public function outOfPage();
+
   /**
    * Gets the slug.
    *
diff --git a/src/Form/Tag.php b/src/Form/Tag.php
index 5993713..2072f92 100644
--- a/src/Form/Tag.php
+++ b/src/Form/Tag.php
@@ -24,7 +24,6 @@ class Tag extends EntityForm {
    */
   public function form(array $form, FormStateInterface $form_state) {
     // @todo Implement vertical tabs like D7 module.
-    // @todo Implement out_of_page setting like D7 module.
     $form = parent::form($form, $form_state);
 
     /** @var \Drupal\dfp\Entity\TagInterface $tag */
@@ -79,6 +78,15 @@ class Tag extends EntityForm {
       '#default_value' => $tag->adunit(),
       '#description' => $this->t('Use the tokens below to define how the ad unit should display. The network id will be included automatically. Example: [dfp_tag:url_parts:4]/[dfp_tag:slot]. Leave this field empty to use the default ad unit adunit as defined in <a href=":url">Global DFP Settings</a>.', [':url' => Url::fromRoute('dfp.admin_settings')->toString()]),
     ];
+    $form['tag_settings']['out_of_page'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Is out of page'),
+      '#required' => FALSE,
+      '#default_value' => $tag->outOfPage(),
+      '#description' => $this->t('Check this if this is an out of page adslot.'),
+
+    ];
+
     // @todo Add token browser.
 
     // Global Display settings.
diff --git a/src/View/TagView.php b/src/View/TagView.php
index dc74322..43db749 100644
--- a/src/View/TagView.php
+++ b/src/View/TagView.php
@@ -29,11 +29,19 @@ class TagView {
   protected $shortTagQueryString;
 
   /**
-   * The ad unit with tokens replaced.
+ * The ad unit with tokens replaced.
+ *
+ * @var string
+ */
+  protected $adUnit;
+
+  /**
+   * out of page
    *
-   * @var string
+   * @var boolean
    */
-  protected $adUnit;
+  protected $out_of_page;
+
 
   /**
    * The targeting, altered and tokens replaced.
@@ -303,6 +311,15 @@ class TagView {
     return $this->breakpoints;
   }
 
+  /*
+   * Returns out of page
+   *
+   * @return Boolean
+   */
+  public function getOut_of_page() {
+    return $this->tag->outOfPage();
+  }
+
   /**
    * Gets the ad size or sizes.
    *
diff --git a/templates/dfp-slot-definition-js.html.twig b/templates/dfp-slot-definition-js.html.twig
index 1056a9e..5d008a5 100644
--- a/templates/dfp-slot-definition-js.html.twig
+++ b/templates/dfp-slot-definition-js.html.twig
@@ -20,9 +20,11 @@
       {% endfor %}
       .build();
   {% endif %}
-
-  googletag.slots["{{ tag.id }}"] = googletag.defineSlot("{{ tag.adUnit }}", {{ tag.size }}, "{{ tag.placeholderId }}")
-
+  {% if tag.out_of_page %}
+    googletag.slots["{{ tag.id }}"] = googletag.defineOutOfPageSlot("{{ tag.adUnit }}", "{{ tag.placeholderId }}")
+  {% else %}
+    googletag.slots["{{ tag.id }}"] = googletag.defineSlot("{{ tag.adUnit }}", {{ tag.size }}, "{{ tag.placeholderId }}")
+  {% endif %}
   {% if tag.clickUrl %}
     .setClickUrl("{{ tag.clickUrl }}")
   {% endif %}
