{"componentChunkName":"component---src-templates-blog-list-template-js","path":"/81","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"Whether you have a big ecommerce store or a small niche business, it will always be susceptible to certain security threats. If you are a…","fields":{"slug":"/growth/cybersecurity-tips-for-ecommerce-websites/"},"html":"<p>Whether you have a big ecommerce store or a small niche business, it will always be susceptible to certain security threats. If you are a website owner, taking care of the security of your website should be of utmost priority.</p>\n<p>Before we discuss some tips to <a href=\"https://www.loginradius.com/blog/engineering/3-simple-ways-to-secure-your-websites-applications/\">secure your website</a>, let's look into some of the most common security threats that can affect your online presence.</p>\n<p>Most security threats come with a financial motive behind them. The victim can be subjected to either credit card fraud, phishing practices, malware practices, or spam.</p>\n<p>System reliability is another issue that can affect the security of your website. For example, if your Internet service provider crashes or your online payment system has some bugs, it can eventually affect the security of your website.</p>\n<p>Let's discuss some tips that can help secure your website and make it less susceptible to external threats.</p>\n<h3 id=\"choose-the-right-platform-for-your-business\" style=\"position:relative;\"><a href=\"#choose-the-right-platform-for-your-business\" aria-label=\"choose the right platform for your business permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Choose the Right Platform for Your Business</h3>\n<p>Choosing the right platform is a critical factor in helping you run a successful business. When you are choosing a platform, keep in mind that it is not always easy to switch.</p>\n<p>Therefore, making the right decision is extremely important. Here are some initial checks that will help you make the right decision.</p>\n<ul>\n<li>Choose a platform that comes with built-in security features and supports object-oriented programming.</li>\n<li>If you are using <a href=\"https://www.loginradius.com/integrations/wordpress/\">WordPress</a>, then make sure that you are using a powerful security plug-in.</li>\n<li>Bot threats can hamper the security of your website. Therefore, always have a bot mitigation solution at hand to help take care of an unexpected situation.</li>\n</ul>\n<h3 id=\"get-ssl-certificates-for-your-website\" style=\"position:relative;\"><a href=\"#get-ssl-certificates-for-your-website\" aria-label=\"get ssl certificates for your website permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Get SSL Certificates for Your Website</h3>\n<p><a href=\"https://www.loginradius.com/blog/engineering/lets-encrypt-with-ssl-certificates/\">SSL certificates</a> are primarily used to make web browsing more secure. An SSL certificate activates the HTTPS protocol which means that all data sent over the internet is encrypted and will only be read by the required recipient.</p>\n<p>Your SSL certificate will help to make the data transfer more secure, provide <a href=\"http://www.cardzgroup.com/ContactSmartCard.html\">credit card security</a>, and secure login information for your customers. Moreover, SSL certificates are also deployed on social media websites to make web browsing more secure. </p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAMABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAD/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAL/2gAMAwEAAhADEAAAAZ486lcaP//EABoQAQACAwEAAAAAAAAAAAAAAAEAAgMRIjH/2gAIAQEAAQUCwmj2WEcjqp0Cz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABoQAAIDAQEAAAAAAAAAAAAAAAIRAAFBEDP/2gAIAQEABj8Cu2oiJz0KCWqU95//xAAcEAACAgIDAAAAAAAAAAAAAAAAEQEhMUFRYYH/2gAIAQEAAT8h84BZhuxSBBcBfPM7F6G1Ks//2gAMAwEAAgADAAAAELDP/8QAFREBAQAAAAAAAAAAAAAAAAAAEDH/2gAIAQMBAT8Qh//EABURAQEAAAAAAAAAAAAAAAAAABAx/9oACAECAQE/EKf/xAAbEAEBAAMAAwAAAAAAAAAAAAABEQAhUTGBof/aAAgBAQABPxCwhwUss58xnJSgg9nc1VUsYzEECIU0E54w0wStN1cFZaR2Zn//2Q=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"cybersecurity-ecommerce\"\n        title=\"cybersecurity-ecommerce\"\n        src=\"/static/b1ae6f47e19c7efb4ccfb279dcbd7604/212bf/cybersecurity-ecommerce.jpg\"\n        srcset=\"/static/b1ae6f47e19c7efb4ccfb279dcbd7604/6aca1/cybersecurity-ecommerce.jpg 650w,\n/static/b1ae6f47e19c7efb4ccfb279dcbd7604/212bf/cybersecurity-ecommerce.jpg 768w,\n/static/b1ae6f47e19c7efb4ccfb279dcbd7604/a2510/cybersecurity-ecommerce.jpg 1000w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h3 id=\"comply-with-pci-dss-standards\" style=\"position:relative;\"><a href=\"#comply-with-pci-dss-standards\" aria-label=\"comply with pci dss standards permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Comply with PCI DSS Standards</h3>\n<p>PCI DSS stands for Payment Card Industry Data Security Standard. The standard is a must-have for all websites that have integrated credit card payment systems on their websites.</p>\n<p>PCI DSS standard helps to secure online transactions with your customers and minimizes chances for data theft. Being PCI compliant is not an easy task. It is especially difficult for small businesses to become PCI compliant.</p>\n<p>If you want your business to become PCI compliant then it is imperative to follow a certain set of rules that could help achieve this.</p>\n<p>Remember that <a href=\"https://www.comptia.org/blog/5-simple-ways-to-become-pci-dss-compliant\">PCI compliance</a> can be achieved through a collaborative team effort. You must ensure that all payment processes are strictly PCI DSS compliant.</p>\n<p>Moreover, the standards need to be installed, the firewall configurations need to be maintained and anti-virus software needs to be updated. Also, remember to change the passwords and other details at the time of the purchase.</p>\n<p><a href=\"https://www.loginradius.com/resource/pci-dss-framework-whitepaper\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABjElEQVQY0z2RS0ubURCGD4Lmy5fgLQWbtEgwpiatKQ1Jk+aOSbwl9qPaQtFmkbpoq2mULrTQVgUviKIL/4TgplBciG4EV7py143gX3mcnKYuXmY4M/PMzBllf5KmIXMggyOYwym6t4Es/+MNGf1JzGcFHryaxPW8gH2wiBHIYfhTGM0cpWGijmwVI79AS+aLVmuuhqO4SEe4LKDEP6gUOkLD9A5N87T4HjM2hS00ginvuqFYDbRJZ6/1jUTtgNjnPfqm1/G8W6X79Q8cL8rYBWiT5K5QnsexEp7IKO7oOO6wwOMl7d8DjabTM/qVwMc9grP7+Crb+Cub9EytCXBCJkjqgga0W1Z9FCvjTVp4XpZ4GB3DKV9jNKdUhj+NcyBFW6GOis+hfBOoxCdU/juquEx7xNJx5Q5TW9nl780tv0/OOfxzytHxGRdX15xdXNIp07f5krKykE05gCtTJRS2CPrSePtSuN5uoSa3aY++0Su3eOPErSrzP3f4sLDCTP2X1uzSBpXFVTliVm9wB66wytFO/orHAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"WP-PCI\"\n        title=\"WP-PCI\"\n        src=\"/static/9fe3830c88ec053f116d0fd99c6cf6b7/e5715/WP-PCI.png\"\n        srcset=\"/static/9fe3830c88ec053f116d0fd99c6cf6b7/a6d36/WP-PCI.png 650w,\n/static/9fe3830c88ec053f116d0fd99c6cf6b7/e5715/WP-PCI.png 768w,\n/static/9fe3830c88ec053f116d0fd99c6cf6b7/81501/WP-PCI.png 2886w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h3 id=\"run-frequent-security-audits\" style=\"position:relative;\"><a href=\"#run-frequent-security-audits\" aria-label=\"run frequent security audits permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Run Frequent Security Audits</h3>\n<p>Running frequent security audits is an important element that helps ensure that your website security is under constant update.</p>\n<p>Security audits help to rule out any potential threats and help companies understand the ongoing security issues. If your business is constantly undergoing cash transactions then your platform must undergo regular security audits.</p>\n<p>The security audit of your business is based on certain factors like data security, audit, navigation, performance, fulfillment, service, payment, and product.</p>\n<p>Once the security audit is complete your platform will be granted a security certificate that helps to validate its authenticity and security.</p>\n<h2 id=\"what-else\" style=\"position:relative;\"><a href=\"#what-else\" aria-label=\"what else permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>What else?</h2>\n<p><a href=\"https://www.loginradius.com/blog/identity/2020/12/data-security-best-practices/\">Data security</a> is crucial for your online business. Having certain security checks in place will help ensure the security of your website and make online transactions secure for your customers.</p>\n<p>Several other ways can also be employed to ensure your website is secure. These include using unique passwords and frequently changing passwords.</p>\n<p>Moreover, installing the right anti-virus programs is also a great way to track any fraudulent activities. Lastly, staying up-to-date with all software updates can also help make your website more secure.</p>\n<p>The more frequently you update software the better chances you have of maintaining the online security of your website.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-Consultation\"\n        title=\"book-a-demo-Consultation\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 19, 2021","updated_date":null,"description":"Whether you run a big business or a small niche online store, you should always be on your guard against possible security threats. Here are some of the most important tips to remember about keeping your site secure.","title":"Cybersecurity Tips for Ecommerce Websites","tags":["data security","cybersecurity","compliance","cx"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/07b2ca1acb938fcc6052a01b0aa2ff82/14b42/cybersecurity-tips-for-ecommerce.jpg","srcSet":"/static/07b2ca1acb938fcc6052a01b0aa2ff82/f836f/cybersecurity-tips-for-ecommerce.jpg 200w,\n/static/07b2ca1acb938fcc6052a01b0aa2ff82/2244e/cybersecurity-tips-for-ecommerce.jpg 400w,\n/static/07b2ca1acb938fcc6052a01b0aa2ff82/14b42/cybersecurity-tips-for-ecommerce.jpg 800w,\n/static/07b2ca1acb938fcc6052a01b0aa2ff82/47498/cybersecurity-tips-for-ecommerce.jpg 1200w,\n/static/07b2ca1acb938fcc6052a01b0aa2ff82/0e329/cybersecurity-tips-for-ecommerce.jpg 1600w,\n/static/07b2ca1acb938fcc6052a01b0aa2ff82/f2689/cybersecurity-tips-for-ecommerce.jpg 7952w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"David Smith","github":null,"avatar":null}}}},{"node":{"excerpt":"There are several Consumer/User data protection regulations in place to protect customer data and privacy. With data protection act like the…","fields":{"slug":"/engineering/user-privacy-data-masking-in-nginx-logs/"},"html":"<p>There are several Consumer/User data protection regulations in place to protect customer data and privacy. With data protection act like the California Consumer Privacy Act (CCPA) and the European Union's GDPR improving awareness of privacy rights, many data-driven businesses have sought to determine which of their applications contain sensitive data, where the sensitive data goes, and why data is going. As a result, they are re-evaluating their data protection controls for employee and consumer data.</p>\n<p> Your program must record vast volumes of data to meet business requirements. It's likely that the application log data contains highly sensitive information. Email addresses, URL parameters such as tokens, credit card data, jobs data, Login Credentials, and Official ID Numbers (passport numbers, driver's license numbers, social security numbers), and authentication tokens may be included in specific log messages. It is important to mask sensitive details such as authentication tokens or credit card info while logging.</p>\n<p> A few years ago, Twitter requested users to reset their passwords. According to <a href=\"https://blog.twitter.com/official/en_us/topics/company/2018/keeping-your-account-secure.html\">Twitter's release</a>, passwords were written in the logs without masking, allowing those with access to the logs to see the password. In most startups or small businesses, all staff members have access to all tools, so masking confidential data is critical. Most log management tools allow you to mask any information until it is saved in the logs. Most of the log monitoring tools provide the feature for masking any information before it will save in the logs.</p>\n<h3 id=\"masking-sensitive-data-in-nginx-logs\" style=\"position:relative;\"><a href=\"#masking-sensitive-data-in-nginx-logs\" aria-label=\"masking sensitive data in nginx logs permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Masking Sensitive Data in Nginx Logs</h3>\n<p> By default, Nginx logs predefined format is combined. As you know, we can overwrite access log formatting as per the requirement. The NGINX JavaScript plugin can be used to enforce data masking in NGINX logs. This module is a kind of JavaScript implementation for NGINX and NGINX Plus that is intended for server-side use cases and per-request processing. When each request is logged, we run a small amount of JavaScript code to masking the sensitive data.</p>\n<h3 id=\"instructions-for-enabling-the-nginx-javascript-module\" style=\"position:relative;\"><a href=\"#instructions-for-enabling-the-nginx-javascript-module\" aria-label=\"instructions for enabling the nginx javascript module permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Instructions for enabling the NGINX JavaScript module</h3>\n<p> The NGINX JavaScript module is by default included in the official NGINX Docker image. if your installed version is 1.9.11 or later, then you can install NGINX JavaScript as a prebuilt package for your platform</p>\n<ol>\n<li>\n<p>Install the prebuilt package.</p>\n<p>Ubuntu and Debian systems</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk12\">$</span><span class=\"mtk1\"> </span><span class=\"mtk12\">sudo</span><span class=\"mtk1\"> </span><span class=\"mtk12\">apt</span><span class=\"mtk1\">-</span><span class=\"mtk12\">get</span><span class=\"mtk1\"> </span><span class=\"mtk12\">install</span><span class=\"mtk1\"> </span><span class=\"mtk12\">nginx</span><span class=\"mtk1\">-</span><span class=\"mtk10\">module</span><span class=\"mtk1\">-</span><span class=\"mtk12\">njs</span></span></code></pre>\n<p>RedHat, CentOS, and Oracle Linux systems</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk12\">$</span><span class=\"mtk1\"> </span><span class=\"mtk12\">sudo</span><span class=\"mtk1\"> </span><span class=\"mtk12\">yum</span><span class=\"mtk1\"> </span><span class=\"mtk12\">install</span><span class=\"mtk1\"> </span><span class=\"mtk12\">nginx</span><span class=\"mtk1\">-</span><span class=\"mtk10\">module</span><span class=\"mtk1\">-</span><span class=\"mtk12\">njs</span></span></code></pre>\n</li>\n<li>\n<p>Enable the module by adding a load module directive in the nginx.conf</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk12\">load_module</span><span class=\"mtk1\"> </span><span class=\"mtk12\">modules</span><span class=\"mtk1\">/</span><span class=\"mtk12\">ngx_http_js_module</span><span class=\"mtk1\">.</span><span class=\"mtk12\">so</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk12\">load_module</span><span class=\"mtk1\"> </span><span class=\"mtk12\">modules</span><span class=\"mtk1\">/</span><span class=\"mtk12\">ngx_stream_js_module</span><span class=\"mtk1\">.</span><span class=\"mtk12\">so</span><span class=\"mtk1\">;</span></span></code></pre>\n</li>\n<li>\n<p>Reload NGINX service</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">sudo</span><span class=\"mtk1\"> </span><span class=\"mtk12\">nginx</span><span class=\"mtk1\"> -</span><span class=\"mtk12\">s</span><span class=\"mtk1\"> </span><span class=\"mtk12\">reload</span></span></code></pre>\n</li>\n</ol>\n<h3 id=\"how-to-mask-query-string-in-nginx-and-nginx-plus\" style=\"position:relative;\"><a href=\"#how-to-mask-query-string-in-nginx-and-nginx-plus\" aria-label=\"how to mask query string in nginx and nginx plus permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>How to mask Query String in NGINX and NGINX Plus</h3>\n<p> An application can be passed some potentially confidential information as query string parameters like tokens, public key, etc., this information logged as part of the request URI. If your program sends personal information in this manner, you can use the NGINX JavaScript module for masking customer/user personal information in the query string.</p>\n<ol>\n<li>\n<p>Create a new file <code>maskQueryString.js</code></p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk12\">vi</span><span class=\"mtk1\"> </span><span class=\"mtk12\">maskQueryString</span><span class=\"mtk1\">.</span><span class=\"mtk12\">js</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">fnv32a</span><span class=\"mtk1\">(</span><span class=\"mtk12\">str</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> = </span><span class=\"mtk7\">2166136261</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">       </span><span class=\"mtk15\">for</span><span class=\"mtk1\"> (</span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">i</span><span class=\"mtk1\"> = </span><span class=\"mtk7\">0</span><span class=\"mtk1\">; </span><span class=\"mtk12\">i</span><span class=\"mtk1\"> &lt; </span><span class=\"mtk12\">str</span><span class=\"mtk1\">.</span><span class=\"mtk12\">length</span><span class=\"mtk1\">; ++</span><span class=\"mtk12\">i</span><span class=\"mtk1\"> ) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">           </span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> ^= </span><span class=\"mtk12\">str</span><span class=\"mtk1\">.</span><span class=\"mtk11\">charCodeAt</span><span class=\"mtk1\">(</span><span class=\"mtk12\">i</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">           </span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> += (</span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &lt;&lt; </span><span class=\"mtk7\">1</span><span class=\"mtk1\">) + (</span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &lt;&lt; </span><span class=\"mtk7\">4</span><span class=\"mtk1\">) + (</span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &lt;&lt; </span><span class=\"mtk7\">7</span><span class=\"mtk1\">) + (</span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &lt;&lt; </span><span class=\"mtk7\">8</span><span class=\"mtk1\">) + (</span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &lt;&lt; </span><span class=\"mtk7\">24</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">       }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">       </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk12\">hval</span><span class=\"mtk1\"> &gt;&gt;&gt; </span><span class=\"mtk7\">0</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   }</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">maskQueryStringParameters</span><span class=\"mtk1\">(</span><span class=\"mtk12\">req</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">query_string</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk12\">variables</span><span class=\"mtk1\">.</span><span class=\"mtk12\">query_string</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">query_string</span><span class=\"mtk1\">.</span><span class=\"mtk12\">length</span><span class=\"mtk1\">) {                     </span><span class=\"mtk3\">// Proceed if we have query string</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">       </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">query_string</span><span class=\"mtk1\">.</span><span class=\"mtk11\">split</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;&&#39;</span><span class=\"mtk1\">);     </span><span class=\"mtk3\">// Convert to array of key=value</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">           </span><span class=\"mtk15\">for</span><span class=\"mtk1\"> (</span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">i</span><span class=\"mtk1\"> = </span><span class=\"mtk7\">0</span><span class=\"mtk1\">; </span><span class=\"mtk12\">i</span><span class=\"mtk1\"> &lt; </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">.</span><span class=\"mtk12\">length</span><span class=\"mtk1\">; </span><span class=\"mtk12\">i</span><span class=\"mtk1\">++) { </span><span class=\"mtk3\">// Iterate through each Key Value pairs pair</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk12\">i</span><span class=\"mtk1\">].</span><span class=\"mtk11\">split</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;=&#39;</span><span class=\"mtk1\">);    </span><span class=\"mtk3\">// Split Key Value pair into new array</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] == </span><span class=\"mtk8\">&quot;token&quot;</span><span class=\"mtk1\">) {              </span><span class=\"mtk3\">// Mask token query paramter</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk3\">// Use first 5 digits of masked value</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk12\">kvpairs</span><span class=\"mtk1\">[</span><span class=\"mtk12\">i</span><span class=\"mtk1\">] = </span><span class=\"mtk12\">kvpair</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] + </span><span class=\"mtk8\">&quot;=&quot;</span><span class=\"mtk1\"> + </span><span class=\"mtk11\">fnv32a</span><span class=\"mtk1\">(</span><span class=\"mtk12\">kvpair</span><span class=\"mtk1\">[</span><span class=\"mtk7\">1</span><span class=\"mtk1\">]).</span><span class=\"mtk11\">toString</span><span class=\"mtk1\">().</span><span class=\"mtk11\">substr</span><span class=\"mtk1\">(</span><span class=\"mtk7\">5</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               } </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk12\">ekse</span><span class=\"mtk1\"> </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] == </span><span class=\"mtk8\">&quot;accountno&quot;</span><span class=\"mtk1\">) {              </span><span class=\"mtk3\">// Mask account no</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk3\">// Use first 7 digits of masked value</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk12\">i</span><span class=\"mtk1\">] = </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] + </span><span class=\"mtk8\">&quot;=&quot;</span><span class=\"mtk1\"> + </span><span class=\"mtk11\">fnv32a</span><span class=\"mtk1\">(</span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">1</span><span class=\"mtk1\">]).</span><span class=\"mtk11\">toString</span><span class=\"mtk1\">().</span><span class=\"mtk11\">substr</span><span class=\"mtk1\">(</span><span class=\"mtk7\">0</span><span class=\"mtk1\">,</span><span class=\"mtk7\">7</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               } </span><span class=\"mtk15\">else</span><span class=\"mtk1\"> </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] == </span><span class=\"mtk8\">&quot;email&quot;</span><span class=\"mtk1\">) {     </span><span class=\"mtk3\">// Mask email</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk3\">// Use hash as prefix for a single domain</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">               </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk12\">i</span><span class=\"mtk1\">] = </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">0</span><span class=\"mtk1\">] + </span><span class=\"mtk8\">&quot;=&quot;</span><span class=\"mtk1\"> + </span><span class=\"mtk11\">fnv32a</span><span class=\"mtk1\">(</span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">[</span><span class=\"mtk7\">1</span><span class=\"mtk1\">]) + </span><span class=\"mtk8\">&quot;@sample.com&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">           }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">   </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk12\">uri</span><span class=\"mtk1\"> + </span><span class=\"mtk8\">&quot;?&quot;</span><span class=\"mtk1\"> + </span><span class=\"mtk12\">keyvaluepairs</span><span class=\"mtk1\">.</span><span class=\"mtk11\">join</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;&&#39;</span><span class=\"mtk1\">);  </span><span class=\"mtk3\">// Construct masked URI</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk12\">uri</span><span class=\"mtk1\">; </span><span class=\"mtk3\">// No query string, return URI</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<p>The maskQueryStringParameters function loops through and key-value pair in the query string, searching for individual keys that have been identified as containing personal data. The value is converted into a masked value for each of these keys.</p>\n</li>\n<li>Include <code>maskQueryString.js</code> file in the <code>nginx.config</code> file </li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">     </span><span class=\"mtk12\">http</span><span class=\"mtk1\"> {</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk12\">js_include</span><span class=\"mtk1\"> </span><span class=\"mtk12\">maskQueryString</span><span class=\"mtk1\">.</span><span class=\"mtk12\">js</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk12\">js_set</span><span class=\"mtk1\">     </span><span class=\"mtk12\">$request_uri_masked</span><span class=\"mtk1\"> </span><span class=\"mtk12\">maskQueryStringParameters</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk12\">log_format</span><span class=\"mtk1\"> </span><span class=\"mtk12\">custom_log_format</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;$remote_addr - $remote_user [$time_local] &#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">                        </span><span class=\"mtk8\">&#39;&quot;$request&quot; $status $body_bytes_sent $request_uri_masked &#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">                        </span><span class=\"mtk8\">&#39;&quot;$http_host&quot; &quot;$upstream_response_time&quot;&#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">                         </span><span class=\"mtk8\">&#39;&quot;$http_referer&quot; &quot;$http_user_agent&quot; clientId=&quot;$clientid&quot;&#39;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk12\">access_log</span><span class=\"mtk1\"> /</span><span class=\"mtk12\">spool</span><span class=\"mtk1\">/</span><span class=\"mtk12\">logs</span><span class=\"mtk1\">/</span><span class=\"mtk12\">nginx</span><span class=\"mtk1\">-</span><span class=\"mtk12\">access</span><span class=\"mtk1\">.</span><span class=\"mtk12\">log</span><span class=\"mtk1\"> </span><span class=\"mtk12\">custom_log_format</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">....................</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }</span></span></code></pre>\n<p> In the above example, I am using the <code>maskQueryStringParameters</code> js function and Since we only need to mask the query string, so using a different variable $request<em>uri</em>masked and then using the same variable in the log format. </p>\n<p>3.Reload NGINX service</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">sudo</span><span class=\"mtk1\"> </span><span class=\"mtk12\">nginx</span><span class=\"mtk1\"> -</span><span class=\"mtk12\">s</span><span class=\"mtk1\"> </span><span class=\"mtk12\">reload</span></span></code></pre>\n<p> Now nginx will store <code>token</code>, <code>accountno</code>,  and <code>email</code> in the logs after sanitizing the data. </p>\n<h3 id=\"summery\" style=\"position:relative;\"><a href=\"#summery\" aria-label=\"summery permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Summery</h3>\n<p>These best practices will help you keep confidential information out of your logs. It's not a full package that will get you ready for a HIPAA or SOC2 audit, but it'll get you started.</p>\n<p>The NGINX JavaScript module provides a quick and efficient approach for adding custom logic like data sanitizing to request processing. I showed how NGINX JavaScript could be used to mask personal data in the log files.</p>\n<p>You can get more detail about the Nginx logs and mask from here -\n<a href=\"https://www.loginradius.com/blog/engineering/user-privacy-data-masking-in-nginx-logs/\">Nginx - Everything you want to know about the Nginx logs in 10 minutes</a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk7 { color: #B5CEA8; }\n  .dark-default-dark .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n</style>","frontmatter":{"date":"May 18, 2021","updated_date":null,"description":"Learn about data masking in nginx logs for user data privacy and compliance.","title":"Data Masking In Nginx Logs For User Data Privacy And Compliance","tags":["Nginx","Logs","Data Masking","Compliance","Privacy"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.3333333333333333,"src":"/static/5d13afa8ca711b40eb6527325a97adb1/f422e/data-masking-in-nginx-logs-for-user-data-privacy-and-compliance.jpg","srcSet":"/static/5d13afa8ca711b40eb6527325a97adb1/f836f/data-masking-in-nginx-logs-for-user-data-privacy-and-compliance.jpg 200w,\n/static/5d13afa8ca711b40eb6527325a97adb1/2244e/data-masking-in-nginx-logs-for-user-data-privacy-and-compliance.jpg 400w,\n/static/5d13afa8ca711b40eb6527325a97adb1/f422e/data-masking-in-nginx-logs-for-user-data-privacy-and-compliance.jpg 640w","sizes":"(max-width: 640px) 100vw, 640px"}}},"author":{"id":"Vijay Singh Shekhawat","github":"code-vj","avatar":null}}}},{"node":{"excerpt":"Artificial intelligence (AI) is one of the most exciting technologies in the business world. Many businesses are using AI to drive important…","fields":{"slug":"/growth/is-ai-really-transforming-the-digital-marketing-industry/"},"html":"<p>Artificial intelligence (AI) is one of the most exciting technologies in the business world. Many businesses are using AI to drive important business decisions (<a href=\"https://dminc.com/articles/how-to-use-ai-to-drive-business-decisions-for-your-enterprise/\">Read for more info</a>), and it can do a variety of different things, as well.</p>\n<p>However, because the technology is new, there are also a lot of questions about it. One common question that comes up is the role of AI in the digital marketing space and if it is changing the landscape of the industry.</p>\n<p>The simple and quick answer is yes. Artificial intelligence truly has the potential to change and transform digital marketing. Digital marketing <a href=\"https://www.prnewswire.com/news-releases/global-digital-advertising-and-marketing-industry-301093781.html\">is a massive industry</a> already, and the growth in AI will only improve it.</p>\n<p>But how? Well, that is exactly what this blog post is going to look at. Read on to learn just how AI is transforming the digital marketing space.</p>\n<h2 id=\"an-improved-user-and-consumer-experience\" style=\"position:relative;\"><a href=\"#an-improved-user-and-consumer-experience\" aria-label=\"an improved user and consumer experience permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>An Improved User and Consumer Experience</h2>\n<p>A major way that <a href=\"https://www.loginradius.com/resource/how-ai-is-going-to-change-your-iam-initiatives/\">ArticiaI intelligence</a> can transform the digital marketing space is by providing an improved user experience. AI can allow marketers to gain deeper access to the needs, behaviors, and journeys of their consumers. It can even help with predicting different behaviors and purchasing motivators.</p>\n<p>Using AI, you can continuously gain access to new or improved insights that can improve your marketing efforts and how you reach people. You can learn how people like to be marketed to, what works best, and use analytics to help fine-tune your marketing.</p>\n<p>The more you know, the better the journeys will be able to be tailored. If what you offer can match up well with what your audience or potential consumers expect, it can be incredibly beneficial.</p>\n<h2 id=\"increased-personalization-in-marketing\" style=\"position:relative;\"><a href=\"#increased-personalization-in-marketing\" aria-label=\"increased personalization in marketing permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Increased Personalization in Marketing</h2>\n<p>Personalization is a hot topic for businesses. Everything from products <a href=\"https://blog.hubspot.com/marketing/data-personalize-marketing-li\">to marketing</a> needs to take personalization into account. People want to feel like companies truly value them as individuals, not just as another sale.</p>\n<p>If some consumers don’t feel like you are reaching out to them directly, they may not be receptive to the message you are providing. The use of AI in digital marketing allows everything to be much more personalized and customized.</p>\n<p>With AI and machine learning, you can essentially have built-in tools for making decisions and deciding the right marketing strategy to use. The more data you have, the better this machine learning will work, and soon enough, it will be able to come up with the best way to target specific groups of individuals.</p>\n<h2 id=\"ai-can-save-companies-a-ton-of-money-and-time\" style=\"position:relative;\"><a href=\"#ai-can-save-companies-a-ton-of-money-and-time\" aria-label=\"ai can save companies a ton of money and time permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>AI Can Save Companies a Ton of Money and Time</h2>\n<p>In addition to helping the consumer side of the industry, AI also has the potential to improve things on the marketer side of things drastically. A lot of marketing in the past was done through a lot of guessing, testing, and adjusting to get things right. Even today, many companies will test dozens of potential strategies to see which works.</p>\n<p>Many of these technologies will learn as they go and won’t require any sort of human intervention by using AI. Using previous data, they will be able to determine which methods are likely to be most fruitful and which won’t be. As you could imagine, this frees up a lot of employee hours to focus on more pressing issues.</p>\n<p>While all artificially intelligent tools and software aren’t always cheap, they are certainly more affordable than paying a team to test different strategies to see what works.</p>\n<p>In conclusion, yes, AI is transforming the digital marketing industry. We hope the information in this <a href=\"https://www.loginradius.com/blog/fuel/\">marketing growth blog</a> has been able to show you how. <p></p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-Consultation\"\n        title=\"book-a-demo-Consultation\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 18, 2021","updated_date":null,"description":"In this article, with AI technology, marketers can spot microtrends and even predict trends and leveraging AI digital marketing to save time and resources through automated digital marketing services.","title":"Myth or True - Is AI Really Transforming the Digital Marketing Industry?","tags":null,"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/dc4e774317145286573db778e1b72f1c/14b42/AI-Myth-True.jpg","srcSet":"/static/dc4e774317145286573db778e1b72f1c/f836f/AI-Myth-True.jpg 200w,\n/static/dc4e774317145286573db778e1b72f1c/2244e/AI-Myth-True.jpg 400w,\n/static/dc4e774317145286573db778e1b72f1c/14b42/AI-Myth-True.jpg 800w,\n/static/dc4e774317145286573db778e1b72f1c/47498/AI-Myth-True.jpg 1200w,\n/static/dc4e774317145286573db778e1b72f1c/ec6c5/AI-Myth-True.jpg 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Ashley Lipman","github":null,"avatar":null}}}},{"node":{"excerpt":"It is impossible to run a successful business in the current era without having a strong online presence. As one of the most popular search…","fields":{"slug":"/growth/top-5-features-of-google-my-business-for-marketers/"},"html":"<p>It is impossible to run a successful business in the current era without having a strong online presence. As one of the most popular search engines, Google sees over <a href=\"https://www.internetlivestats.com/google-search-statistics/\">4.5 billion</a> search queries every day. The algorithm uses over <a href=\"https://backlinko.com/google-ranking-factors\">200 factors</a> to rank websites in the SERP. Thousands of results are shown for any search query, but most users don’t scroll past the first page.</p>\n<p>Google My Business is a free service launched by the technology giant in 2014. This allows small and local businesses to target their local audience. It is a free tool that allows you to promote your business and gain visibility. We’ll cover the top 5 features that you should be using.</p>\n<h2 id=\"5-google-my-business-features\" style=\"position:relative;\"><a href=\"#5-google-my-business-features\" aria-label=\"5 google my business features permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>5 Google My Business Features</h2>\n<h3 id=\"1-google-listing\" style=\"position:relative;\"><a href=\"#1-google-listing\" aria-label=\"1 google listing permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>1. Google Listing</h3>\n<p>The first and foremost thing is to create a Google Listing if you can’t find a trace of your business online. Many consumers often review businesses even though they do not have any official listing. In such a case, you should first claim your Business Profile by connecting it to your Google My Business account.</p>\n<p>You can easily create a Google My Business account using any e-mail ID you use for your business correspondence. Claiming your business online or listing it with a verified e-mail will ensure the algorithm that the business is legitimate. While doing so, it is also recommended that you add details about your business to help potential consumers find out more about your business.</p>\n<p><strong>You should include:</strong></p>\n<ul>\n<li>Contact details: Adding contact details like address and phone number is a Google Maps business strategy that allows consumers to connect an online entity with an offline office.</li>\n<li>Description: This is a 750 characters description of your business and services.</li>\n<li>Logo: Adding a business logo to your Google Business account is one of the best ways to show the legitimacy of your business.</li>\n</ul>\n<h3 id=\"2-analytics\" style=\"position:relative;\"><a href=\"#2-analytics\" aria-label=\"2 analytics permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>2. Analytics</h3>\n<p>My Business Insights is an excellent feature that you should use to keep track of your business’s appearance in Google SERP. The feature includes easy-to-read data charts that help you find out how many views your website is getting per day, in which search queries your website appears and how long an average user spends on your website.</p>\n<p>This tool is one of the largest benefits of My Google Business and allows you to manage your business’s online reputation. Extrapolating the data provided by Insights will enable you to discern consumer trends and adjust your marketing strategy accordingly.</p>\n<h3 id=\"3-photos\" style=\"position:relative;\"><a href=\"#3-photos\" aria-label=\"3 photos permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>3. Photos</h3>\n<p>Uploading photos is an important task in the process of Google Listing. Not only can these prove the legitimacy of your business, but they can also provide your consumer with a general idea of the type of service or product they can receive from you. Most users go through a business’s photographs to determine whether the business quality is up to the standards they are looking for.</p>\n<p>It is recommended that you keep your business profile updated with the latest photos of your premises or products. Factors such as lighting, image quality, and even the resolution of the image can change the way viewers perceive your product or service. This is one of the most subtle Google Maps marketing strategies that are effective.</p>\n<h3 id=\"4-google-posts\" style=\"position:relative;\"><a href=\"#4-google-posts\" aria-label=\"4 google posts permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>4. Google Posts</h3>\n<p>Instead of focusing entirely on your company website and SEO, it is also recommended to focus on your Google My Business account.  One of the best ways to increase traction on your business account is to ensure you’re making regular Google posts. These are similar to social media posts and can be used to let the consumer know about developments in your business.</p>\n<p><a href=\"https://www.loginradius.com/blog/fuel/2017/07/free-local-business-listing-sites-uk/\">Google local listing</a> usually includes the general information about businesses – contact information, working hours, etc. These generally don’t include specific information like business closures for holidays, sales or promotions, company news about expanding, or events that your business will be holding.</p>\n<p>Instead of editing your Google Business  profile multiple times in a month to include this information, utilize the Google posts feature.</p>\n<h3 id=\"5-answering-questions\" style=\"position:relative;\"><a href=\"#5-answering-questions\" aria-label=\"5 answering questions permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>5. Answering Questions</h3>\n<p>Instead of answering the same question several times through private messages, use your business profile website to answer questions about your business. While this might seem like an unusual method of Google business consumer service, it is highly efficient. This is a method to engage your consumers while subtly promoting your business.</p>\n<p>When a subjective FAQ list is slowly generated, consumers can find answers to all their questions without contacting you directly. However, Google discourages you to ‘create’ questions, and they should be generated organically.</p>\n<h2 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Conclusion</h2>\n<p>There are over tens of Google Business features that you can use to build a targeted marketing campaign. And like the above five, they are created to ensure you get the highest SERP ranking. You can read our article on <a href=\"https://www.loginradius.com/blog/fuel/2021/05/Benefits-of-Google-Tag-Manager/\">Benefits of Google Tag Manager</a> to learn more marketing techniques. With Google My Business, you have an additional platform to get in touch with your consumers and generate more leads.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-Consultation\"\n        title=\"book-a-demo-Consultation\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 18, 2021","updated_date":null,"description":"Google My Business is a free tool that allows small and local businesses to increase their visibility on Google’s search engine to gain new customers. We’ve covered the top 5 features you should be using to make your business more visible and get you started.","title":"5 Features of Google My Business You Should Be Using","tags":null,"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/90f3daaf455a2a67a81ec95d9a6d870a/f9913/Google-Local-Business.jpg","srcSet":"/static/90f3daaf455a2a67a81ec95d9a6d870a/f836f/Google-Local-Business.jpg 200w,\n/static/90f3daaf455a2a67a81ec95d9a6d870a/2244e/Google-Local-Business.jpg 400w,\n/static/90f3daaf455a2a67a81ec95d9a6d870a/f9913/Google-Local-Business.jpg 750w","sizes":"(max-width: 750px) 100vw, 750px"}}},"author":{"id":"Deependra Singh","github":null,"avatar":null}}}},{"node":{"excerpt":"It is a common fact that the development and marketing process goes hand in hand. An enterprise will create or develop a product with a set…","fields":{"slug":"/growth/digitization-of-agile-marketing-principles/"},"html":"<p>It is a common fact that the development and marketing process goes hand in hand. An enterprise will create or develop a product with a set of beneficial features.</p>\n<p>Marketing involves showcasing these properties. Previously, development and marketing strategies were restricted by the lack of technology. However, this has changed now, with <a href=\"https://www.slideshare.net/HubSpot/its-time-to-transform-your-marketing/6-103_Billion_searches_are_conducted\">78% of consumers</a> conducting product research online.</p>\n<p>This drastic change has led to a change in the way developers approach ideas, also known as the birth of  Agile Digital Marketing.</p>\n<h2 id=\"agile-marketing-definition-and-working-process\" style=\"position:relative;\"><a href=\"#agile-marketing-definition-and-working-process\" aria-label=\"agile marketing definition and working process permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Agile Marketing: Definition and Working Process</h2>\n<p>Image: Graphical Representation of Agile Marketing Process</p>\n<p>To understand what Agile digital marketing involves, you must first understand Agile Marketing. Agile Marketing is an alternative form of marketing that involves the use of tangible data and analytics to find opportunities for an increase in revenue or a search for solutions in real-time.</p>\n<p>The characteristic feature of this kind of marketing is that a team of developers and marketing personnel will focus on high-value projects. This kind of marketing is extremely flexible and does not rely on a single or few techniques.</p>\n<p>In essence, an ideal Agile Marketing Process will involve the following aspects:</p>\n<ul>\n<li>Collaboration between team members and public</li>\n<li>Adapting to changes in the industry</li>\n<li>Testing and data-based techniques</li>\n<li>Niche experiments</li>\n<li>Catering to individual wants instead of a demographic</li>\n</ul>\n<p>In essence, Agile Marketing plays off of Agile Development Team methodologies to manage the products that cater to a fluctuating industry.</p>\n<p>Learn more about the <a href=\"https://www.loginradius.com/blog/engineering/agile-development-team/\">fundamentals of Agile Development</a>.</p>\n<h2 id=\"connection-between-agile-marketing-and-inbound-marketing\" style=\"position:relative;\"><a href=\"#connection-between-agile-marketing-and-inbound-marketing\" aria-label=\"connection between agile marketing and inbound marketing permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Connection Between Agile Marketing and Inbound Marketing</h2>\n<p>CEO of Allposit, <a href=\"https://au.linkedin.com/in/mike-lieberman-80229821\">Mike Lieberman</a>, says that Agile marketing has to be implemented to inbound marketing or else you will not receive any significant results from their campaigns.</p>\n<p>Inbound Marketing involves the use of valuable content or personal experiences of a consumer to attract them to a certain product.</p>\n<p>For example, a blog post talking about a certain product and its connection to the writer's personal experience is more relatable to an individual.</p>\n<p>Reasons why inbound marketing requires agile can be summarised in the following points:</p>\n<ul>\n<li>Traditional marketing cannot adapt to changes in society, be it cultural or financial. Therefore, the campaign will not be effective.</li>\n<li>Agile inbound marketing can bring in quick results that become evident in less than a year.</li>\n<li>Agile marketing encourages developing products that are based on data and tests instead of your opinion.</li>\n<li>Prevents the creation of silos and would, therefore, increase collaboration between team members.</li>\n</ul>\n<h2 id=\"what-agile-digital-marketing-entails\" style=\"position:relative;\"><a href=\"#what-agile-digital-marketing-entails\" aria-label=\"what agile digital marketing entails permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>What Agile Digital Marketing Entails</h2>\n<p>When it comes to implementing agile digital marketing, the best part is that any business, both large or small, can do so. Follow the steps below:</p>\n<h3 id=\"1-listening-to-the-audience\" style=\"position:relative;\"><a href=\"#1-listening-to-the-audience\" aria-label=\"1 listening to the audience permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>1. Listening to the audience</h3>\n<p>You have to be on the constant lookout for certain cultural changes in the public like sports or other events like <a href=\"https://www.smartinsights.com/digital-marketing-strategy/agile-digital-marketing-what-it-looks-like-and-how-to-implement-it/\">Oreo</a> did. You can be connected to an audience to find these opportunities with the help of social media and platforms like Warble and Google Adwords.</p>\n<h3 id=\"2-responding-quickly\" style=\"position:relative;\"><a href=\"#2-responding-quickly\" aria-label=\"2 responding quickly permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>2. Responding quickly</h3>\n<p>Once the keywords and trending hashtags have been obtained, the campaign must include these aspects to better relate to the audience.</p>\n<h3 id=\"3-creation-of-a-suitable-agile-marketing-methodology\" style=\"position:relative;\"><a href=\"#3-creation-of-a-suitable-agile-marketing-methodology\" aria-label=\"3 creation of a suitable agile marketing methodology permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>3. Creation of a suitable agile marketing methodology</h3>\n<p>Finally, once the iterations or alterations are carried out, you have to create a strategic methodology that will increase the effectiveness of the campaign. For example, the 70:20:10 methodology. As per this, the campaign will be divided into particular sections. That is,</p>\n<ul>\n<li>70% of the campaign should include normal digital marketing.</li>\n<li>20% is a mixture of traditional and agile digital marketing.</li>\n<li>10% is complete agile marketing, where all the aspects of the marketing will follow the above steps.</li>\n</ul>\n<h2 id=\"some-examples-of-agile-advertising\" style=\"position:relative;\"><a href=\"#some-examples-of-agile-advertising\" aria-label=\"some examples of agile advertising permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Some Examples of Agile Advertising</h2>\n<p>To determine the process of agile marketing management  and the above aspect, you can turn your attention to the marketing campaign put forward by the tech giant, Dell, and Mozilla.</p>\n<h3 id=\"dell-simplifying-campaigns-with-agile-marketing\" style=\"position:relative;\"><a href=\"#dell-simplifying-campaigns-with-agile-marketing\" aria-label=\"dell simplifying campaigns with agile marketing permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Dell: Simplifying Campaigns With Agile Marketing</h3>\n<p>Dell possesses a couple of hundred employees under the Dell Software Marketing Department. This department's primary aim is to promote the recent products developed on a global scale.</p>\n<p>Being a software/technology company, the team uses a range of online marketing concepts like SEO, <strong><a href=\"https://www.loginradius.com/blog/growth/b2b-lead-generation-for-2021/\">Lead Generation</a></strong>, Channel marketing, and more.</p>\n<p>In a sense, the marketing department was running several different campaigns simultaneously, putting a damper on the effectiveness.</p>\n<p>To sort out this confusion, the company turned to Agile Marketing. Dell created a platform that would ensure that team members could communicate with each other.</p>\n<p>This shift provided an evident benefit as the marketing is now spread across the world, operating in month-long sprints.</p>\n<p>Therefore, the department could become more diverse and be better \"listeners\" to consumers from all over the world in 7 months.</p>\n<h3 id=\"mozilla-finding-direction-through-agile-marketing-management\" style=\"position:relative;\"><a href=\"#mozilla-finding-direction-through-agile-marketing-management\" aria-label=\"mozilla finding direction through agile marketing management permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Mozilla: Finding Direction Through Agile Marketing Management</h3>\n<p>Mozilla was also plagued by thousands of consumer interactions, all asking for something different. This greatly affected their marketing campaign.</p>\n<p>The marketing director then decided to introduce the principles of Agile in the form of \"Meta Principles\" to increase the frequency and quality of communication within the marketing department.</p>\n<p>Firefox used traditional marketing methods and displayed its newest products in two separate launches. This was highly inefficient and energy-consuming.</p>\n<p>The department was then divided into small teams with as many generalists as possible. Although it took some time to pick up, this method dramatically increased the <strong><a href=\"/blog/growth/sign-up-tips-conversion-rate/\">conversion rate</a></strong>.</p>\n<h2 id=\"wrapping-up\" style=\"position:relative;\"><a href=\"#wrapping-up\" aria-label=\"wrapping up permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Wrapping Up</h2>\n<p>Incorporating agile into digital marketing can be extremely beneficial to an online campaign. An enterprise can tackle several campaigns at once on different platforms. Thus, they are capable of relating to a large audience on a global scale.<p>\n<a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-Consultation\"\n        title=\"book-a-demo-Consultation\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 17, 2021","updated_date":null,"description":"Agile Marketing is an alternative form of marketing that involves the use of tangible data and analytics to find opportunities for an increase in revenue or a search for solutions in real-time. The characteristic feature of this kind of marketing is that a team of developers and marketing personnel will focus on high-value projects.","title":"The Digitization of Agile Marketing Principles - How Has It Changed Over the Years","tags":null,"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/e231fcaa0da787bfe2dcf79215becf39/14b42/Agile-Marketing.jpg","srcSet":"/static/e231fcaa0da787bfe2dcf79215becf39/f836f/Agile-Marketing.jpg 200w,\n/static/e231fcaa0da787bfe2dcf79215becf39/2244e/Agile-Marketing.jpg 400w,\n/static/e231fcaa0da787bfe2dcf79215becf39/14b42/Agile-Marketing.jpg 800w,\n/static/e231fcaa0da787bfe2dcf79215becf39/47498/Agile-Marketing.jpg 1200w,\n/static/e231fcaa0da787bfe2dcf79215becf39/ec6c5/Agile-Marketing.jpg 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Navanita Devi","github":null,"avatar":null}}}},{"node":{"excerpt":"Everyone wants their application so fast, but how to achieve that, in that case, code splitting comes into the picture, where we split code…","fields":{"slug":"/engineering/react-code-splitting-with-lazy-suspense/"},"html":"<p>Everyone wants their application so fast, but how to achieve that, in that case, <strong>code splitting</strong> comes into the picture, where we split code and set the priority loading of the code snippet.</p>\n<p>But how do we set the priority or load them whenever required?</p>\n<h2 id=\"1-reactlazy\" style=\"position:relative;\"><a href=\"#1-reactlazy\" aria-label=\"1 reactlazy permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>1. React.lazy()</h2>\n<p>Using this we can set code priority to the lower or it will load only whenever required. So how to do that? it's easy, let's understand through an example.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk3\">//generally approach to import Component</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk15\">import</span><span class=\"mtk1\"> </span><span class=\"mtk12\">Blog</span><span class=\"mtk1\"> </span><span class=\"mtk15\">from</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;./BlogComponent&#39;</span><span class=\"mtk1\">;</span></span></code></pre>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk3\">// This component is loaded dynamically or lazy load</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">BlogComponent</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">React</span><span class=\"mtk1\">.</span><span class=\"mtk11\">lazy</span><span class=\"mtk1\">(() </span><span class=\"mtk4\">=&gt;</span><span class=\"mtk1\"> </span><span class=\"mtk4\">import</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;./BlogComponent&#39;</span><span class=\"mtk1\">));</span></span></code></pre>\n<h2 id=\"2-reactsuspense\" style=\"position:relative;\"><a href=\"#2-reactsuspense\" aria-label=\"2 reactsuspense permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>2. React.Suspense()</h2>\n<p>Once the component is set for a lazy load then we need to set some kind of fallback option as well, till that code is rendered. This fallback option either could be a loader icon, screen, image, etc.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk3\">// This component is loaded dynamically or lazy load</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">BlogComponent</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">React</span><span class=\"mtk1\">.</span><span class=\"mtk11\">lazy</span><span class=\"mtk1\">(() </span><span class=\"mtk4\">=&gt;</span><span class=\"mtk1\"> </span><span class=\"mtk4\">import</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;./BlogComponent&#39;</span><span class=\"mtk1\">));</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">AppComponent</span><span class=\"mtk1\">() {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> (</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk3\">// Displays &lt;LoaderSpinner&gt; until BlogComponent loads</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;</span><span class=\"mtk10\">React.Suspense</span><span class=\"mtk1\"> </span><span class=\"mtk12\">fallback</span><span class=\"mtk1\">=</span><span class=\"mtk4\">{</span><span class=\"mtk17\">&lt;</span><span class=\"mtk10\">LoaderSpinner</span><span class=\"mtk1\"> </span><span class=\"mtk17\">/&gt;</span><span class=\"mtk4\">}</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk17\">&lt;</span><span class=\"mtk10\">BlogComponent</span><span class=\"mtk1\"> </span><span class=\"mtk17\">/&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk10\">React.Suspense</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  );</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n  .dark-default-dark .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk17 { color: #808080; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n</style>","frontmatter":{"date":"May 13, 2021","updated_date":null,"description":"Load Application faster with code spliting and dynamic loading","title":"Code spliting in React via lazy and suspense","tags":["React"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/12ea532cdd9f0017a02bfb74d888bba7/ee604/react.png","srcSet":"/static/12ea532cdd9f0017a02bfb74d888bba7/69585/react.png 200w,\n/static/12ea532cdd9f0017a02bfb74d888bba7/497c6/react.png 400w,\n/static/12ea532cdd9f0017a02bfb74d888bba7/ee604/react.png 800w,\n/static/12ea532cdd9f0017a02bfb74d888bba7/f3583/react.png 1200w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Abhimanyu Singh Rathore","github":"abhir9","avatar":null}}}}]},"markdownRemark":{"excerpt":"Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards…","fields":{"slug":"/identity/developer-first-identity-provider-loginradius/"},"html":"<p>Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards and refining approaches to building secure, seamless experiences.</p>\n<p>We’re here to support developers on that journey. We know how important simplicity, efficiency, and well-structured documentation are when working with identity and access management solutions. That’s why we’ve redesigned the <a href=\"https://www.loginradius.com/\">LoginRadius website</a>—to be faster, more intuitive, and developer-first in every way.</p>\n<p>The goal? Having them spend less time searching and more time building.</p>\n<h2 id=\"whats-new-and-improved-on-the-loginradius-website\" style=\"position:relative;\"><a href=\"#whats-new-and-improved-on-the-loginradius-website\" aria-label=\"whats new and improved on the loginradius website permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>What’s New and Improved on the LoginRadius Website?</h2>\n<p>LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve spent the last few months redesigning our interface— making navigation more intuitive and reassuring that essential resources are easily accessible.</p>\n<p>Here’s a closer look at what’s new and why it’s important:</p>\n<h3 id=\"a-developer-friendly-dark-theme\" style=\"position:relative;\"><a href=\"#a-developer-friendly-dark-theme\" aria-label=\"a developer friendly dark theme permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>A Developer-Friendly Dark Theme</h3>\n<p><img src=\"/f46881583c7518a93bb24e94c32320de/a-developer-friendly-dark-theme.webp\" alt=\"This image shows how LoginRadius offers several authentication methods like traditional login, social login, passwordless login, passkeys and more in a dark mode.\">    </p>\n<p>Developers spend long hours working in dark-themed IDEs and terminals, so we’ve designed the LoginRadius experience to be developer-friendly and align with that preference.</p>\n<p>The new dark mode reduces eye strain, enhances readability, and provides a seamless transition between a coding environment and our platform. Our new design features a clean, modern aesthetic with a consistent color scheme and Barlow typography, ensuring better readability. High-quality graphics and icons are thoughtfully placed to enhance the content without adding visual clutter.</p>\n<p>So, whether you’re navigating our API docs or configuring authentication into your system, our improved interface will make those extended development hours more comfortable and efficient.</p>\n<h3 id=\"clear-categorization-for-loginradius-capabilities\" style=\"position:relative;\"><a href=\"#clear-categorization-for-loginradius-capabilities\" aria-label=\"clear categorization for loginradius capabilities permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Clear Categorization for LoginRadius Capabilities</h3>\n<p><img src=\"/e5358b82be414940f3fb146013845933/capabilities.webp\" alt=\"This image shows a breakdown of all the LoginRadius CIAM capabilities, including authentication, security, UX, scalability and multi-brand management.\"></p>\n<p>We’ve restructured our website to provide a straightforward breakdown of our customer identity and access management platform capabilities, helping you quickly find what you need:</p>\n<ul>\n<li>Authentication: Easily understand <a href=\"https://www.loginradius.com/blog/identity/authentication-option-for-your-product/\">how to choose the right login method</a>, from traditional passwords and OTPs to social login, federated SSO, and passkeys with few lines of code.</li>\n<li>Security: Implement no-code security features like bot detection, IP throttling, breached password alerts, DDoS protection, and adaptive MFA to safeguard user accounts.</li>\n<li>User Experience: Leverage AI builder, hosted pages, and drag-and-drop workflows to create smooth, branded sign-up and login experiences.</li>\n<li>High Performance &#x26; Scalability: Confidently scale with sub-100ms API response times, 100% uptime, 240K+ RPS, and 28+ global data center regions.</li>\n<li>Multi-Brand Management: Efficiently manage multiple identity apps, choosing isolated or shared data stores based on your brand’s unique needs.</li>\n</ul>\n<p>This structured layout ensures you can quickly understand each capability and how it integrates into your identity ecosystem.</p>\n<h3 id=\"developer-first-navigation\" style=\"position:relative;\"><a href=\"#developer-first-navigation\" aria-label=\"developer first navigation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Developer-First Navigation</h3>\n<p><img src=\"/a8c155c2b6faf3d5f4b4de4e2b14d763/developers-menu.webp\" alt=\"This image shows the LoginRadius menu bar, highlighting the developer dropdown.\">   </p>\n<p>We’ve been analyzing developer workflows to identify how you access key resources. That’s why we redesigned our navigation with one goal in mind: to reduce clicks and make essential resources readily available.</p>\n<p>The new LoginRadius structure puts APIs, SDKs, and integration guides right at the menu bar under the Developers dropdown so you can get started faster. Our Products, Solutions, and Customer Services are also clearly categorized, helping development teams quickly find the right tools and make informed decisions.</p>\n<h3 id=\"quick-understanding-of-integration-benefits\" style=\"position:relative;\"><a href=\"#quick-understanding-of-integration-benefits\" aria-label=\"quick understanding of integration benefits permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Quick Understanding of Integration Benefits</h3>\n<p><img src=\"/b2f9a964a2da0ea83e2f8596b833bba7/we-support-your-tech-stack.webp\" alt=\"This image shows a list of popular programming languages and frameworks offered by LoginRadius.\"></p>\n<p>Developers now have a clear view of the tech stack available with LoginRadius, designed to support diverse business needs.</p>\n<p>Our platform offers pre-built SDKs for Node.js, Python, Java, and more, making CIAM integration seamless across popular programming languages and frameworks.</p>\n<h2 id=\"over-to-you-now\" style=\"position:relative;\"><a href=\"#over-to-you-now\" aria-label=\"over to you now permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" 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\"></path></svg></a>Over to You Now!</h2>\n<p>Check out our <a href=\"https://www.loginradius.com/\">revamped LoginRadius website</a> and see how the improved experience makes it easier to build, scale, and secure your applications.</p>\n<p>Do not forget to explore the improved navigation and API documentation, and get started with our free trial today. We’re excited to see what you’ll build with LoginRadius!</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"February 21, 2025","updated_date":null,"description":"LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve redesigned our website interface, making navigation more intuitive and reassuring that essential resources are easily accessible.","title":"Revamped & Ready: Introducing the New Developer-First LoginRadius Website","tags":["Developer tools","API","Identity Management","User Authentication"],"pinned":true,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp","srcSet":"/static/80b4e4fbe176a10a327d273504607f32/61e93/hero-section.webp 200w,\n/static/80b4e4fbe176a10a327d273504607f32/1f5c5/hero-section.webp 400w,\n/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp 800w,\n/static/80b4e4fbe176a10a327d273504607f32/99238/hero-section.webp 1200w,\n/static/80b4e4fbe176a10a327d273504607f32/7c22d/hero-section.webp 1600w,\n/static/80b4e4fbe176a10a327d273504607f32/1258b/hero-section.webp 2732w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},"pageContext":{"limit":6,"skip":480,"currentPage":81,"type":"///","numPages":161,"pinned":"ee8a4479-3471-53b1-bf62-d0d8dc3faaeb"}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}