{"id":154739,"date":"2020-11-30T15:15:43","date_gmt":"2020-11-30T20:15:43","guid":{"rendered":"https:\/\/optinmonster.com\/?p=154739&#038;post_type=optinmonster_docs&#038;preview_id=154739"},"modified":"2026-01-15T06:27:29","modified_gmt":"2026-01-15T11:27:29","slug":"how-to-setup-custom-domains-in-optinmonster","status":"publish","type":"optinmonster_docs","link":"https:\/\/optinmonster.com\/docs\/how-to-setup-custom-domains-in-optinmonster\/","title":{"rendered":"How to Setup Custom Domains in OptinMonster"},"content":{"rendered":"\n<p>OptinMonster makes it easy to use a custom sub-domain to link to the OptinMonster API, allowing you to load our script from your own sub-domain.<\/p>\n\n\n\n<p>In this article, you&#8217;ll learn how to use Custom Domains with the OptinMonster API using your own sub-domain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Before You Start<\/h2>\n\n\n\n<p>Here are some things to know before you begin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Custom Domains is a separate feature that can be added to any paid subscription plan.<\/li>\n\n\n\n<li>The custom domain is a subdomain of the site where you are enabling custom domains.<\/li>\n\n\n\n<li>This guide assumes you are already familiar with managing your domain through the registrar&#8217;s control panel.<\/li>\n\n\n\n<li>This guide assumes you are comfortable editing DNS zones for your domain.<\/li>\n\n\n\n<li>Due to the advanced nature of this feature we are not able to provide direct support in making changes to the DNS zones for your sub-domain. Your domain registrar may be able to provide direct assistance if required.<\/li>\n\n\n\n<li><strong>For Cloudflare<\/strong>, when doing the verification process you must <strong>disable the Cloudflare proxy<\/strong>. It can be enabled again after verification has been successful.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Subscribe to Custom Domains<\/h2>\n\n\n\n<p>Custom Domains is a feature addon that can be attached to any paid subscription plan. To get started using Custom Domains you&#8217;ll need to first subscribe to it.<\/p>\n\n\n\n<p>To purchase the Custom Domains feature, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/app.optinmonster.com\/account\/billing\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Navigate to the Account &gt;&nbsp;<strong>Billing<\/strong> screen<\/a> in your OptinMonster account.<\/li>\n\n\n\n<li>From the&nbsp;<strong>Additional Upgrades<\/strong> section, select the&nbsp;<strong>Add<\/strong> button next to the Custom Domains feature.<br><img decoding=\"async\" width=\"800\" height=\"782\" class=\"alignnone size-large wp-image-163527\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/Markup-2021-08-19-at-10.29.18-1024x1001.png\" alt=\"Add Custom Domains feature to your OptinMonster account from the Billing screen.\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/Markup-2021-08-19-at-10.29.18-1024x1001.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/Markup-2021-08-19-at-10.29.18-300x293.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/Markup-2021-08-19-at-10.29.18-768x750.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/Markup-2021-08-19-at-10.29.18.png 1226w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/li>\n\n\n\n<li>Follow the prompts to complete the transaction.<\/li>\n\n\n\n<li>You are now ready to enable Custom Domains as shown in the next section of this guide.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Enable Custom Domains<\/h2>\n\n\n\n<p>The first step in using a custom sub-domain to link with the OptinMonster API is enabling the feature in your account.<\/p>\n\n\n\n<p>To enable Custom Domains, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to the <a href=\"https:\/\/app.optinmonster.com\/sites\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Sites management screen<\/a> from your OptinMonster account.<br><img decoding=\"async\" width=\"1600\" height=\"807\" class=\"wp-image-154734\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1.png\" alt=\"1\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1-300x151.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1-1024x516.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1-768x387.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/1-1536x775.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n\n\n\n<li>Next, select the&nbsp;<strong>Edit<\/strong> button for the specific site you want to enable Custom Domains for.<br><img decoding=\"async\" width=\"1600\" height=\"854\" class=\"wp-image-154728\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2.png\" alt=\"2\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2-300x160.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2-1024x547.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2-768x410.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/2-1536x820.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n\n\n\n<li>From the Site Edit screen, enable the <strong>Custom Domains<\/strong> option.<br><img decoding=\"async\" width=\"1600\" height=\"894\" class=\"wp-image-154738\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3.png\" alt=\"3\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3-300x168.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3-1024x572.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3-768x429.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/3-1536x858.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n\n\n\n<li>Once enabled, additional information will appear on the Site Edit screen, like this:<br><img decoding=\"async\" width=\"1600\" height=\"1217\" class=\"wp-image-154732\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4.png\" alt=\"4\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4-300x228.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4-1024x779.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4-768x584.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/4-1536x1168.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/>\n<ul class=\"wp-block-list\">\n<li>Two default sub-domains are shown. You can use those or set your own custom sub-domains. <em><strong>If you want to use the default sub-domains, you can save the settings now and proceed to the &#8220;Update API URLs&#8221; section of this guide.<\/strong><\/em><\/li>\n\n\n\n<li>To configure custom sub-domains proceed to the next section.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Configure Custom Domains<\/h2>\n\n\n\n<p>To configure custom sub-domains for the Custom Domains feature, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>From the same Site Edit screen you enabled Custom Domains from in the previous section, select the&nbsp;<strong>Generate New CNAME<\/strong> link as shown below:<br><img decoding=\"async\" width=\"1600\" height=\"1064\" class=\"wp-image-154736\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5.png\" alt=\"5\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5-300x200.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5-1024x681.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5-768x511.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/5-1536x1021.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n\n\n\n<li>A popup modal will appear where you can enter your <strong>Custom API CNAME<\/strong>. <em><br>Do not enter the full URL, enter&nbsp;<strong>only the sub-domain<\/strong>. <\/em>For example, if your domain is mynetwork.com and you want the API URL subdomain to be your-custom-subdomain.mynetwork.com then on the popup you would enter <em>your-custom-subdomain<\/em>.<br><img decoding=\"async\" width=\"1304\" height=\"1084\" class=\"wp-image-154729\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/6.png\" alt=\"6\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/6.png 1304w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/6-300x249.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/6-1024x851.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/6-768x638.png 768w\" sizes=\"(max-width: 1304px) 100vw, 1304px\" \/><\/li>\n\n\n\n<li>When you&#8217;re finished, click&nbsp;<strong>Yes, I&#8217;m Sure<\/strong> to save and exit the popup modal.<\/li>\n\n\n\n<li>You can now select the&nbsp;<strong>Save Changes<\/strong> button on the Site Edit screen to apply your Custom Domains settings in OptinMonster.<\/li>\n\n\n\n<li>Proceed to the next section in this guide to update your domain DNS zones.<\/li>\n<\/ol>\n\n\n\n<div class=\"alert-box alert-blue\">\n<p class=\"alert-box-title\"><\/p>\n\n\n\n<p>You can set custom subdomains for both of the API URLs provided. <br><img decoding=\"async\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7.png\" alt=\"7\"><br>Note those two down, we will need those later.<\/p>\n\n\n\n<p class=\"is-style-arrow-link has-link-color\"><\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Update DNS Zones<\/h2>\n\n\n\n<p>The final step in enabling Custom Domains for OptinMonster is to update the domain DNS zones through your domain registrar control panel.<\/p>\n\n\n\n<p>How you access and the design of the registrar control panel may vary from registrar to registrar. We provide general information below on how to configure the DNS Zones and you will want to refer to your registrar&#8217;s official documentation on how to access and edit DNS Zones through their interface.<\/p>\n\n\n\n<p>To update the DNS Zones for your domain, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>We provide two CDN URLs in the Site Edit screen that you would have been provided in the last step of the previous section in this guide, like this:<br><img decoding=\"async\" width=\"1600\" height=\"318\" class=\"wp-image-154730\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7.png\" alt=\"7\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7-300x60.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7-1024x204.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7-768x153.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/7-1536x305.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/>\n<ul class=\"wp-block-list\">\n<li><em>api.optincdn.com<\/em><\/li>\n\n\n\n<li><em>a.optincdn.com<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>You will need to point the newly selected subdomains to those URLs. There are two options for that:\n<ul class=\"wp-block-list\">\n<li>Hosting Panel DNS Zone editor<\/li>\n\n\n\n<li>Domain Panel DNS Zone editor<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>If you are using nameservers to point your domain to your hosting account, then you will need to use the <strong>Hosting Panel DNS Zone editor<\/strong>.<br>If you are using A record IP to point the domain, then you can use the <strong>Domain Panel DNS Zone editor<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hosting Panel DNS Zone editor<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your hosting panel, navigate to the DNS Zone editor.<\/li>\n\n\n\n<li>Create a new CNAME record where the <strong>Name<\/strong> is the full sub-domain you wish to use for Custom Domains. For example, if our sub-domain is <em>myomapi.zombiecoder.xyz<\/em> one of our CNAME records would appear as follows:<br><img decoding=\"async\" width=\"1200\" height=\"410\" class=\"wp-image-154737\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/8.png\" alt=\"8\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/8.png 1200w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/8-300x103.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/8-1024x350.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/8-768x262.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/li>\n\n\n\n<li>It should look similar to this after adding the records:<br><img decoding=\"async\" width=\"1600\" height=\"1197\" class=\"wp-image-154727\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9.png\" alt=\"9\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9-300x224.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9-1024x766.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9-768x575.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/9-1536x1149.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Domain Panel DNS Zone editor<\/h3>\n\n\n\n<p>In every domain panel, there is a DNS zone editor so that you can set different entries for the domain you have with them. If you don\u2019t use nameservers, then you can add your DNS entries there, the same thing was shown on the Hosting Panel DNS Zone editor section.<\/p>\n\n\n\n<p>Here we are showing some popular domain providers\u2019 panel, but the procedure is similar in almost every panel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloudflare<\/h3>\n\n\n\n<div class=\"alert-box alert-yellow\">\n<p class=\"alert-box-title\"><\/p>\n\n\n\n<p>For Cloudflare, <strong>during the verification process<\/strong>, <strong>you must disable the Cloudflare Proxy<\/strong>. While the Cloudflare Proxy can be re-enabled after verification is successful, we recommend leaving it disabled.<br>The Cloudflare Proxy can prevent the creation and renewal of SSL certificates, which is why it must be disabled during verification. If you must enable the Cloudflare Proxy, we recommend doing so only for domains that can run in <a href=\"https:\/\/developers.cloudflare.com\/ssl\/origin-configuration\/ssl-modes\/flexible\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Flexible SSL\/TLS encryption mode<\/a>.<br>If SSL certificate renewal cannot be completed because the Cloudflare Proxy is enabled, using <a href=\"https:\/\/developers.cloudflare.com\/ssl\/origin-configuration\/ssl-modes\/full-strict\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Full (Strict) mode<\/a>, and in some cases <a href=\"https:\/\/developers.cloudflare.com\/ssl\/origin-configuration\/ssl-modes\/full\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Full mode<\/a>, may result in errors, as the certificate on our infrastructure may expire.<br><img decoding=\"async\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/cloudflare-disable-proxy-1.jpg\" alt=\"Disable the Cloudflare proxy when verifying your CNAME records with OptinMonster.\"><\/p>\n\n\n\n<p class=\"is-style-arrow-link has-link-color\"><\/p>\n<\/div>\n\n\n\n<p>In the first dropdown field, select CNAME; on the second field write the subdomain name down (without the main domain), on the third field write the API URL that OptinMonster gives you, and for TTL selection you can choose Automatic.<\/p>\n\n\n\n<p>You will need to complete this process for both CNAME records.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GoDaddy<\/h3>\n\n\n\n<p>Here is a screenshot of the GoDaddy Domain DNS Zone.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"1208\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11.png\" alt=\"11\" class=\"wp-image-154735\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11-300x227.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11-1024x773.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11-768x580.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/11-1536x1160.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Verify Custom Domain<\/strong><\/h2>\n\n\n\n<p>The final step in using a custom sub-domain for the OptinMonster Custom Domains feature is to verify both sub-domains.<\/p>\n\n\n\n<p>To verify the sub-domains, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to the Edit Site screen for the domain you are enabling Custom Domains for as you did in the first section of this guide.<\/li>\n\n\n\n<li>Under the Custom Domains section, select the&nbsp;<strong>Verify<\/strong> button next to each sub-domain.<br><img decoding=\"async\" width=\"1600\" height=\"1406\" class=\"wp-image-154733\" src=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later.png\" alt=\"later\" srcset=\"https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later.png 1600w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later-300x264.png 300w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later-1024x900.png 1024w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later-768x675.png 768w, https:\/\/optinmonster.com\/wp-content\/uploads\/2020\/11\/later-1536x1350.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/li>\n\n\n\n<li>When you&#8217;re finished, click the <strong>Save Changes<\/strong> button.<\/li>\n<\/ol>\n\n\n\n<div class=\"alert-box alert-blue\">\n<p class=\"alert-box-title\"><\/p>\n\n\n\n<p>Please note: after changing the DNS or creating a new DNS entry, it can take anywhere from 5 mins to 48 hours to propagate. While it often propagates within an hour, if verifying the sub-domains doesn\u2019t work for you initially, please try again later.<\/p>\n\n\n\n<p class=\"is-style-arrow-link has-link-color\"><\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Update API URLs<\/h2>\n\n\n\n<p>Once Custom Domains is fully configured for your site, you can update the API URLs used in any embed codes on your site to reference your custom domains.<\/p>\n\n\n\n<p>For example, the Global Embed code we automatically generate looks similar to the following:<\/p>\n\n\n\n<script src=\"https:\/\/library.wpcode.com\/embedjs\/924wdjxo.js\/\"><\/script>\n\n\n\n<p>In the embed code look for the following URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;a.omappapi.com\/app\/js\/api.min.js<\/code><\/pre>\n\n\n\n<p>If your custom domain is <code>api.mydomain.com<\/code> the updated URL in the embed code would look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;api.mydomain.com\/app\/js\/api.min.js<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Update MonsterLink URLs<\/h3>\n\n\n\n<p>If you are using <a href=\"https:\/\/optinmonster.com\/docs\/how-to-use-monsterlinks-to-load-your-popup-with-click-of-a-button\/\" target=\"_blank\" rel=\"noopener\">MonsterLinks<\/a> (including <a href=\"https:\/\/optinmonster.com\/docs\/how-to-create-a-shareable-monsterlink\/\" target=\"_blank\" rel=\"noopener\">Shareable MonsterLinks<\/a>) you&#8217;ll also want to be sure to update the URLs to your custom domain.<\/p>\n\n\n\n<p>The default MonsterLink URL will look similar to the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;a href=\"https:\/\/app.monstercampaigns.com\/c\/gokormpinjzgewfgxtfj\/\" target=\"_blank\" rel=\"noopener noreferrer\"&gt;Subscribe Now!&lt;\/a&gt;<\/code><\/code><\/pre>\n\n\n\n<p>If your custom domain is <code>api.mydomain.com<\/code> the updated URLs would look similar to this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;a href=\"https:\/\/api.mydomain.com\/c\/gokormpinjzgewfgxtfj\/\" target=\"_blank\" rel=\"noopener noreferrer\"&gt;Subscribe Now!&lt;\/a&gt;<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">FAQs<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">My custom domain isn&#8217;t verifying. How can I check if my DNS records are set up correctly?<\/h5>\n\n\n\n<p>First, you should confirm that your CNAME records are publicly visible on the internet (a process called propagation). You can use a free online tool to do this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/mxtoolbox.com\/DnsLookup.aspx\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">MX Toolbox CNAME Lookup<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dnschecker.org\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">DNS Checker<\/a> (select <strong>CNAME<\/strong> from the dropdown)<\/li>\n<\/ul>\n\n\n\n<p>Enter your full custom subdomain (e.g., <code>api.mydomain.com<\/code>) into the tool. If the records have been set up correctly and have propagated, you&#8217;ll see a result pointing to the OptinMonster URL (e.g., <code>api.optincdn.com<\/code>). If you see an error like &#8220;DNS Record not found,&#8221; you&#8217;ll need to go back to your DNS provider and ensure the CNAME records were added correctly.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">I\u2019ve added the DNS records for my custom API domain and when I visit <code>https:\/\/customapidomain.example.com\/api\/v2\/ping<\/code>, I\u2019m seeing a &#8216;Your connection is not private&#8217; or &#8216;Your connection is not secure&#8217; SSL error. Why is this happening?<\/h5>\n\n\n\n<p>If you use Cloudflare, its proxy service must be disabled (set to <a href=\"https:\/\/www.cnewcomer.com\/use-cloudflare-dns-hosting-only\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">DNS only<\/a>) during the verification process. If the proxy is enabled, we cannot issue the required SSL certificate. You can disable the proxy, verify the domain in OptinMonster, and then re-enable the proxy if desired.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">My DNS records are correct and the Cloudflare proxy is off, but my domains still won&#8217;t verify. What else could it be?<\/h5>\n\n\n\n<p>This may be due to a <a href=\"https:\/\/letsencrypt.org\/docs\/caa\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Certificate Authority Authorization (CAA) record<\/a> on your domain. A CAA record restricts which authorities can issue SSL certificates for your domain. OptinMonster uses <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Let&#8217;s Encrypt <\/a>to issue certificates for custom domains.<\/p>\n\n\n\n<p>If you have a CAA record, it must permit Let&#8217;s Encrypt. If it doesn&#8217;t, verification and future certificate renewals will fail.<\/p>\n\n\n\n<p>Add a CAA record to your DNS settings with the following values:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Type<strong>:<\/strong> <code>CAA<\/code><\/li>\n\n\n\n<li>Tag<strong>:<\/strong> <code>issue<\/code><\/li>\n\n\n\n<li>Value<strong>:<\/strong> <code>letsencrypt.org<\/code><\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">My campaigns aren&#8217;t updating or are behaving strangely, as if an old version is loading. What&#8217;s happening?<\/h5>\n\n\n\n<p>This is almost always a caching issue, especially if you use a service like Cloudflare with its proxy enabled. The service may be storing and serving an outdated version of our script (<code>api.min.js<\/code>).<\/p>\n\n\n\n<p>You need to purge the cache for the specific file.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>If using Cloudflare:<\/strong> Log into your Cloudflare account and use the <a href=\"https:\/\/developers.cloudflare.com\/cache\/how-to\/purge-cache\/#purge-by-single-file-by-url\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Purge by URL<\/a> option to clear the cache for your custom domain&#8217;s API script URL (e.g., <code>https:\/\/om.mydomain.com\/app\/js\/api.min.js<\/code>).<\/li>\n\n\n\n<li><strong>For a long-term fix<\/strong>, we recommend <a href=\"https:\/\/developers.cloudflare.com\/dns\/proxy-status\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">setting your CNAME records to DNS-only instead of Proxied<\/a> in Cloudflare. This prevents its cache from interfering with our script updates.<\/li>\n\n\n\n<li><strong>If you aren&#8217;t using Cloudflare<\/strong> and have cleared all your website and server caches, please contact our support team for further assistance.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Can VPNs block the OptinMonster script even when using a custom domain?<\/h5>\n\n\n\n<p>Even with a custom domain, advanced VPNs and ad-blockers can still block the OptinMonster script. This is because they go beyond just checking the domain name and may:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inspect the CNAME record and see it ultimately points to OptinMonster servers.<\/li>\n\n\n\n<li>Analyze the script content itself and recognize it as an OptinMonster script.<\/li>\n\n\n\n<li>Detect the HTML elements\/behaviors the script adds (like <code>om-<\/code> attributes) and block them directly.<\/li>\n<\/ul>\n\n\n\n<p>So while a custom domain reduces the chance of being blocked, it cannot guarantee bypassing advanced filters.<\/p>\n\n\n\n<div class=\"alert-box alert-blue\">\n<p class=\"alert-box-title\">Key Takeaway<\/p>\n\n\n\n<p>Using the custom domain feature is still highly recommended. It\u2019s one of the most effective ways to ensure your campaigns load without issues, working smoothly for over 95\u201399% of visitors who aren\u2019t using highly advanced blocking tools. While no solution can guarantee 100% coverage (since a small percentage of advanced VPNs and blockers may still interfere), using a custom domain gives you the best chance of reliable performance for the vast majority of your audience.<\/p>\n\n\n\n<p class=\"is-style-arrow-link has-link-color\"><\/p>\n<\/div>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">I have changed my DNS, but the OptinMonster dashboard is not verifying.<\/h5>\n\n\n\n<p>After creating a new DNS entry or changing an existing entry, it may take up to 48 hours to reflect the changes. Usually, it happens within an hour, but sometimes it takes longer. If verification fails, you will want to wait a couple of hours and try again.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">I&#8217;m using the WordPress plugin, do I need to do anything extra?<\/h5>\n\n\n\n<p>Be sure to visit the WordPress admin &gt; OptinMonster &gt; Campaigns screen and make some small update to any campaign. This can be changing the status from Published to Paused then back to Published even.<\/p>\n\n\n\n<p>By making a small update it will trigger the plugin to update and capture the Custom Domain information from your account.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OptinMonster makes it easy to use a custom sub-domain to link to the OptinMonster API, allowing you to load our script from your own sub-domain. In this article, you&#8217;ll learn how to use Custom Domains with the OptinMonster API using your own sub-domain. Before You Start Here are some things to know before you begin:&nbsp;&hellip;<\/p>\n","protected":false},"author":2,"comment_status":"open","ping_status":"closed","template":"","documentation\/categories":[96],"documentation\/tags":[31396,31497,31430,31411],"class_list":["post-154739","optinmonster_docs","type-optinmonster_docs","status-publish","hentry","categories-extending"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation\/154739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/types\/optinmonster_docs"}],"author":[{"embeddable":true,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/comments?post=154739"}],"version-history":[{"count":37,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation\/154739\/revisions"}],"predecessor-version":[{"id":209960,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation\/154739\/revisions\/209960"}],"wp:attachment":[{"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/media?parent=154739"}],"wp:term":[{"taxonomy":"categories","embeddable":true,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation\/categories?post=154739"},{"taxonomy":"internal_tags","embeddable":true,"href":"https:\/\/optinmonster.com\/wp-json\/wp\/v2\/documentation\/tags?post=154739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}