# Event Blocking


<blockquote class="announcement">
  <div class="tip-quote">
    
    <div class="tip-text">The <strong>Event Blocking</strong> feature is generally available on the Enterprise and Growth plans.</div>
  </div>
</blockquote>

<p>This guide walks you through RudderStack&rsquo;s event blocking feature and explains how to prevent unwanted events from entering your data pipelines.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="overview">Overview</h2><p>RudderStack&rsquo;s <strong>Event Blocking</strong> feature lets you prevent specific events from being ingested by RudderStack. When you block an event, it&rsquo;s completely dropped before entering your data pipelines, which helps maintain clean data capture and reduces unnecessary costs.</p>

<blockquote class="success">
  <div class="tip-quote">
    
    <div class="tip-text">
      Blocked events are not counted toward your billable event volume, which can help reduce costs.
    </div>
  </div>
</blockquote>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="when-to-use-event-blocking">When to use event blocking</h2><p>Event blocking is designed for specific scenarios where you need to prevent events from entering RudderStack entirely:</p>
<ul>
<li><strong>Mobile lifecycle events</strong>: Mobile SDKs automatically track lifecycle events, but not all of them are useful for every use case. You can block specific lifecycle events that don&rsquo;t provide value for your analysis.</li>
<li><strong>Bug-related event overflow</strong>: When a bug in your application causes events to fire multiple times or creates an overflow of unwanted events, you can temporarily block those events while you deploy a fix.</li>
<li><strong>Deprecated or incorrectly instrumented events</strong>: When event definitions change or events become deprecated, but the development cycle for removing them through code takes time, event blocking provides an immediate solution to maintain clean data capture.</li>
</ul>

<blockquote class="warning">
  <div class="tip-quote">
    
    <div class="tip-text"><p>Event blocking results in permanent data loss. Blocked events cannot be <a href="https://www.rudderstack.com/docs/user-guides/administrators-guide/event-replay/" >replayed</a> or recovered.</p>
<p>See the <a href="#limitations" >Limitations</a> section for more details.</p>
</div>
  </div>
</blockquote>
<p>Event blocking is <strong>not the right solution</strong> for the following scenarios:</p>
<ul>
<li><strong>Destination-specific event filtering</strong>: You can use the <a href="https://www.rudderstack.com/docs/user-guides/how-to-guides/how-to-filter-selective-destinations/" ><code>integrations</code> object</a> or <a href="https://www.rudderstack.com/docs/transformations/" >Transformations</a> to filter events from going to specific destinations.</li>
<li><strong>Property-level filtering</strong>: Use <a href="https://www.rudderstack.com/docs/data-governance/tracking-plans/" >Tracking Plans</a> to handle malformed event properties or validate event schemas.</li>
<li><strong>Complex filtering logic</strong>: Event blocking only supports blocking by event name. For more complex filtering requirements, use <a href="https://www.rudderstack.com/docs/transformations/" >Transformations</a>.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="enable-event-blocking">Enable event blocking</h2>
<html lang="en">
<blockquote class="info">
  <div class="tip-quote">
    
    <div class="tip-text">Only <strong>Admins</strong> have access to enable the event blocking feature.</div>
  </div>
</blockquote>

</html>
<p>To enable or disable the event blocking feature for your workspace:</p>
<ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Event Blocking</strong>.</li>
<li>Locate the <strong>Block events</strong> toggle on the top right corner of the page.</li>
<li>Turn it on or off to enable or disable the feature.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/enable-event-blocking.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/enable-event-blocking.webp" 
         alt="Enable event blocking in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="configure-event-blocking">Configure event blocking</h2><p>RudderStack provides a very simple dashboard interface to manage event blocking.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="block-an-event">Block an event</h3><p>You can block events in the RudderStack dashboard in any of the following ways:</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h4 id="1-via-the-event-blocking-page">1. Via the Event Blocking page</h4><ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Event Blocking</strong>.</li>
<li>Click <strong>Add Event</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/event-blocking.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/event-blocking.webp" 
         alt="Add event button in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="3">
<li>Select the events from the list (populated based on the events present in your Data Catalog).</li>
<li>Click <strong>Add events</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/configure-events.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/configure-events.webp" 
         alt="Block an event in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<p>You can also block a new event in this page:</p>
<ol>
<li>Click <strong>Add Event</strong> &gt; <strong>Block a new event</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/block-new-event-1.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/block-new-event-1.webp" 
         alt="Block a new event in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="2">
<li>Enter the event name, description, and category.</li>
<li>Click <strong>Create event</strong>.</li>
<li>Confirm your action in the subsequent dialog by clicking <strong>Yes, block event</strong>.</li>
</ol>

<html lang="en">
<blockquote class="info">
  <div class="tip-quote">
    
    <div class="tip-text">The new event will also be added to the Data Catalog.</div>
  </div>
</blockquote>

</html>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/block-new-event-2.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/block-new-event-2.webp" 
         alt="Block a new event in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<!-- end-chunk -->
<!-- begin-chunk -->
<h4 id="2-via-the-data-catalog">2. Via the Data Catalog</h4><ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Data Catalog</strong> &gt; <strong>Events</strong>.</li>
<li>From the list of events, click on the event you want to block.</li>
<li>In the <strong>Event details</strong> view, locate the <strong>Block event</strong> toggle and turn it on.</li>
<li>Confirm your action in the subsequent dialog by clicking <strong>Yes, block event</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/event-blocking-catalog.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/event-blocking-catalog.webp" 
         alt="Block an event in the Data Catalog"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<p>Once you enable event blocking for an event, RudderStack will stop ingesting events with that name across all your sources.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="unblock-an-event">Unblock an event</h3><p>To unblock an event that you blocked previously:</p>
<ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Event Blocking</strong>.</li>
<li>Find the specific blocked event.</li>
<li>Click the meatballs (<strong>&hellip;</strong>) menu next to the event and select <strong>Remove event from block list</strong>.</li>
<li>Confirm your action in the dialog by clicking <strong>Remove</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/unblock-event.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/unblock-event.webp" 
         alt="Unblock an event in the Event Blocking page"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<p>You can also unblock an event in the <strong>Event details</strong> view in the <a href="#1-via-the-data-catalog" >Data Catalog</a>:</p>
<ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Data Catalog</strong> &gt; <strong>Events</strong>.</li>
<li>Find the event you want to unblock and click on it to open the <strong>Event details</strong> view.</li>
<li>Locate the <strong>Block event</strong> toggle and turn it off.</li>
<li>Confirm your action in the subsequent dialog by clicking <strong>Yes, unblock event</strong>.</li>
</ol>
<p>Once unblocked, the event will start flowing through your data pipelines again.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="observability">Observability</h2><p>This section explains how to view blocked events in your Data Catalog and see the overall blocked event metrics for a particular source.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="view-source-level-blocked-event-metrics">View source-level blocked event metrics</h3><ol>
<li>Go to <strong>Collect</strong> &gt; <strong>Sources</strong> and select your source.</li>
<li>Navigate to the <strong>Events</strong> tab.</li>
<li>See the <strong>Blocked events</strong> metric to see the number of blocked events for that specific source.</li>
</ol>

<html lang="en">
<blockquote class="info">
  <div class="tip-quote">
    
    <div class="tip-text">The blocked events count shown in this view represents events blocked for that specific source only, not the total blocked events across all sources.</div>
  </div>
</blockquote>

</html>
<p>See the <strong>Event Details</strong> section for more granular details like:</p>
<ul>
<li><strong>Event name</strong>: The name of the event</li>
<li><strong>Block count</strong>: Number of times the event was blocked</li>
<li><strong>Last blocked</strong>: When the event was last blocked by RudderStack</li>
</ul>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/blocked-event-metrics-source.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/blocked-event-metrics-source.webp" 
         alt="View blocked event metrics for the source"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="view-blocked-event-details-in-data-catalog">View blocked event details in Data Catalog</h3><ol>
<li>Go to <strong>Govern</strong> &gt; <strong>Event Blocking</strong>.</li>
<li>Find the specific blocked event.</li>
<li>Click the meatballs (<strong>&hellip;</strong>) menu next to the event and select <strong>View event in Data Catalog</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/blocked-event-metrics-catalog-1.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/blocked-event-metrics-catalog-1.webp" 
         alt="View blocked event in Data Catalog"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="4">
<li>You will see the following information in the <strong>Event details</strong> view:</li>
</ol>
<ul>
<li><strong>Last seen</strong>: When the event was last blocked by RudderStack</li>
<li><strong>30 days volume</strong>: Number of events blocked in the last 30 days</li>
</ul>

<figure class="image--main "  >
    <a 
         href="/docs/images/data-governance/event-blocking/blocked-event-metrics-catalog-2.webp"
        
        >
        <img src="/docs/images/data-governance/event-blocking/blocked-event-metrics-catalog-2.webp" 
         alt="View blocked event details in Data Catalog"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="considerations">Considerations</h2><p>Keep the following points in mind when before using the event blocking feature:</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="event-blocking-and-tracking-plans">Event blocking and Tracking Plans</h3><p>Event blocking has specific interactions with Tracking Plans:</p>
<ul>
<li><strong>Events defined in Tracking Plans cannot be blocked</strong>: You cannot block an event that is already defined in a Tracking Plan. Remove it from the Tracking Plan first if you need to block it.</li>
<li><strong>Blocked events cannot be added to Tracking Plans</strong>: You cannot add a blocked event to any Tracking Plan.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="data-loss-implications">Data loss implications</h3><p>Event blocking results in permanent data loss. Before blocking an event:</p>
<ul>
<li>Confirm that the event has no current or future analytical value.</li>
<li>Consider whether downstream teams or systems depend on this event data.</li>
<li>Evaluate if alternative solutions (like Transformations or Tracking Plans) would be more appropriate.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="impact-on-metrics-and-reporting">Impact on metrics and reporting</h3><p>Blocking events will affect:</p>
<ul>
<li>Historical trend analysis if you compare pre-blocking and post-blocking periods.</li>
<li>Downstream analytics and reporting that depend on the blocked events.</li>
<li>Event volume metrics and billing calculations.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="testing-and-validation">Testing and validation</h3><p>Before blocking events in production:</p>
<ul>
<li>Test the impact in a development environment if possible.</li>
<li>Communicate with stakeholders who might be affected by the data change.</li>
<li>Have a plan for unblocking events, if needed.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="limitations">Limitations</h2><p>The event blocking feature has the following limitations currently:</p>
<ul>
<li><strong>Event type restriction</strong>: You can block only <code>track</code> events — support for <code>page</code>, <code>screen</code>, <code>identify</code>, <code>group</code>, and <code>alias</code> events is not available.</li>
<li><strong>Global blocking only</strong>: Events are blocked across all sources. You cannot block events from specific sources or a subset of sources.</li>
<li><strong>Event name only</strong>: Blocking is based solely on the event name. You cannot block events based on properties, user attributes, or other complex logic.</li>
<li><strong>No automated configuration</strong>: You must configure event blocking manually through the Data Catalog interface.</li>
<li><strong>Plan limitations</strong>: Available only for Growth (Maximum of 2 blocked events are configurable) and Enterprise (unlimited blocked events) plans.</li>
<li><strong>Permanent data loss</strong>: Blocked events cannot be recovered, replayed, or analyzed later.</li>
</ul>
<br />
