{
    "componentChunkName": "component---node-modules-rocketseat-gatsby-theme-docs-core-src-templates-docs-query-js",
    "path": "/docs/stream-sources/rudderstack-sdk-integration-guides/event-filtering/",
    "result": {"data":{"mdx":{"id":"9a4864d3-26ee-568a-a034-a17cb6f08b12","excerpt":"Client-side Event Filtering RudderStack's client-side event filtering feature lets you specify which events should be discarded or allowed to flow through by…","fields":{"slug":"/docs/stream-sources/rudderstack-sdk-integration-guides/event-filtering/"},"frontmatter":{"title":"Client-side Event Filtering","description":"Detailed technical description of RudderStack's event filtering feature.","image":null,"disableTableOfContents":null},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Client-side Event Filtering\",\n  \"description\": \"Detailed technical description of RudderStack's event filtering feature.\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"client-side-event-filtering\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h1\",\n    \"href\": \"#client-side-event-filtering\",\n    \"aria-label\": \"client side event filtering permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Client-side Event Filtering\"), mdx(\"p\", null, \"RudderStack's client-side event filtering feature lets you specify which events should be discarded or allowed to flow through by whitelisting or blacklisting them.\"), mdx(\"div\", {\n    className: \"successBlock\"\n  }, mdx(\"p\", null, \"You can use this feature for all the RudderStack destinations that support sending events via the \", mdx(\"a\", {\n    href: \"https://rudderstack.com/docs/connections/rudderstack-connection-modes/#device-mode\"\n  }, \"device mode\"), \".\")), mdx(\"div\", {\n    className: \"infoBlock\"\n  }, mdx(\"p\", null, \"Client-side event filtering is applicable only for \", mdx(\"code\", {\n    className: \"inline-code\"\n  }, \"track\"), \" calls. In case of mobile SDKs, it also applies to the following application lifecycle events:\"), mdx(\"ul\", null, mdx(\"li\", null, \"Application Installed\"), mdx(\"li\", null, \"Application Opened\"), mdx(\"li\", null, \"Application Backgrounded\"), mdx(\"li\", null, \"Application Updated\"))), mdx(\"h2\", {\n    \"id\": \"supported-sdks\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#supported-sdks\",\n    \"aria-label\": \"supported sdks permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Supported SDKs\"), mdx(\"p\", null, \"The following source SDKs support this feature:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-javascript-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"JavaScript\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-android-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"Android\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-ios-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"iOS\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-react-native-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"React Native\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-flutter-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"Flutter\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-cordova-sdk/\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"Cordova\")))), mdx(\"h2\", {\n    \"id\": \"event-filtering-options\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#event-filtering-options\",\n    \"aria-label\": \"event filtering options permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Event filtering options\"), mdx(\"p\", null, \"RudderStack gives you the ability to configure your event filtering options while setting up your device mode destination in the dashboard, as shown:\"), mdx(\"span\", {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"960px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"119.58333333333333%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/webp;base64,UklGRowAAABXRUJQVlA4IIAAAABwBACdASoUABgAPjEWiUMiISEUBVQgAwS0gAAXPAe5ZxJTBdkHFHZYa7SoAAD+/xVYUA9c9y2Pazh/++tqOKUC+ggXr+zE8Y9SkgI7v/qmQ8oxodzhfoQSaz0NyrWz/wj1V6dWf7k4krkREF/CsCF2Q9JPkfonYaXPfxx7EAAAAA==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/7337f084d5af51bfe28941c174d257b7/cbea2/rudderstack-event-filtering.webp 240w\", \"/static/7337f084d5af51bfe28941c174d257b7/42669/rudderstack-event-filtering.webp 480w\", \"/static/7337f084d5af51bfe28941c174d257b7/10c02/rudderstack-event-filtering.webp 960w\", \"/static/7337f084d5af51bfe28941c174d257b7/57075/rudderstack-event-filtering.webp 1140w\"],\n    \"sizes\": \"(max-width: 960px) 100vw, 960px\",\n    \"type\": \"image/webp\"\n  }), \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/7337f084d5af51bfe28941c174d257b7/5243c/rudderstack-event-filtering.png 240w\", \"/static/7337f084d5af51bfe28941c174d257b7/ab158/rudderstack-event-filtering.png 480w\", \"/static/7337f084d5af51bfe28941c174d257b7/7d769/rudderstack-event-filtering.png 960w\", \"/static/7337f084d5af51bfe28941c174d257b7/267c0/rudderstack-event-filtering.png 1140w\"],\n    \"sizes\": \"(max-width: 960px) 100vw, 960px\",\n    \"type\": \"image/png\"\n  }), \"\\n          \", mdx(\"img\", {\n    parentName: \"picture\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/7337f084d5af51bfe28941c174d257b7/7d769/rudderstack-event-filtering.png\",\n    \"alt\": \"Event filtering options\",\n    \"title\": \"Event filtering options\",\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  }), \"\\n        \"), \"\\n    \"), mdx(\"p\", null, \"You will see the following dropdown options under \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Event Filtering\"), \", in the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Connection Settings\"), \" page:\"), mdx(\"h3\", {\n    \"id\": \"disable\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#disable\",\n    \"aria-label\": \"disable permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Disable\"), mdx(\"p\", null, \"Event filtering will be disabled if you select this option from the dropdown. In this case, RudderStack will not filter any events and allow all events to flow through.\"), mdx(\"h3\", {\n    \"id\": \"whitelist\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#whitelist\",\n    \"aria-label\": \"whitelist permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Whitelist\"), mdx(\"p\", null, \"Upon selecting the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Whitelist\"), \" option from the dropdown, you can specify the names of the events that you want RudderStack to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"allow\"), \" or flow through to the destination. \"), mdx(\"div\", {\n    className: \"infoBlock\"\n  }, mdx(\"p\", null, \"If you choose the \", mdx(\"strong\", null, \"Whitelist\"), \" option for event filtering, any events specified in the \", mdx(\"strong\", null, \"Blacklist\"), \" field will be ignored.\")), mdx(\"p\", null, \"You can add as many events as you want to the whitelist by clicking on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Add More\"), \" option.\"), mdx(\"div\", {\n    className: \"warningBlock\"\n  }, mdx(\"p\", null, \"RudderStack will discard any event that is not specified in the whitelist. If you do not specify any events in the whitelist, \", mdx(\"strong\", null, \"all\"), \" the calls will be discarded.\")), mdx(\"h3\", {\n    \"id\": \"blacklist\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#blacklist\",\n    \"aria-label\": \"blacklist permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Blacklist\"), mdx(\"p\", null, \"Upon selecting the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Blacklist\"), \" option from the dropdown, you can specify the names of the events that you want RudderStack to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"discard\"), \". These events will not be sent to the destination.\"), mdx(\"div\", {\n    className: \"infoBlock\"\n  }, mdx(\"p\", null, \"If you choose the \", mdx(\"strong\", null, \"Blacklist\"), \" option for event filtering, any events specified in the \", mdx(\"strong\", null, \"Whitelist\"), \" field will be ignored.\")), mdx(\"p\", null, \"You can add as many events as you want to the blacklist by clicking on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Add More\"), \" option.\"), mdx(\"div\", {\n    className: \"warningBlock\"\n  }, mdx(\"p\", null, \"RudderStack will only discard the events explicitly specified in the blacklist. If you do not specify any events in the blacklist, then \", mdx(\"strong\", null, \"all\"), \" the calls will be allowed to go through.\")), mdx(\"h2\", {\n    \"id\": \"contact-us\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#contact-us\",\n    \"aria-label\": \"contact us permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Contact us\"), mdx(\"p\", null, \"For queries on any of the sections covered in this guide, you can \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"mailto:%20docs@rudderstack.com\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"contact us\")), \" or start a conversation in our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://rudderstack.com/join-rudderstack-slack-community\"\n  }, mdx(\"strong\", {\n    parentName: \"a\"\n  }, \"Slack\")), \" community.\"));\n}\n;\nMDXContent.isMDXComponent = true;","headings":[{"depth":1,"value":"Client-side Event Filtering"},{"depth":2,"value":"Supported SDKs"},{"depth":2,"value":"Event filtering options"},{"depth":3,"value":"Disable"},{"depth":3,"value":"Whitelist"},{"depth":3,"value":"Blacklist"},{"depth":2,"value":"Contact us"}]}},"pageContext":{"slug":"/docs/stream-sources/rudderstack-sdk-integration-guides/event-filtering/","next":{"label":"Home","link":"/docs/home"},"repositoryEditUrl":"","repositoryProvider":""}},
    "staticQueryHashes": ["2501019404"]}