How can we set custom domain name for SPO public site
In Office 365, you can host your SharePoint Online public website on the same domain as Exchange Online and Lync Online, but you will need to do additional steps to achieve it.
Step 1 : Run the Add your domain wizard to add your domain name, for example, contoso.com, to Office 365 and verify that you own the domain. In the wizard, set the domain services option to Exchange Online or Lync Online, or both Exchange Online and Lync Online.
NOTE:
You will not be able to choose SharePoint Online along with Exchange and Lync Online.
Step 2: Add the required DNS records in your public DNS for Exchange Online and Lync Online so that it works with your domain name.
Step 3: Run the Add a domain wizard again, and this time add a third-level domain to Office 365 with the format label.contoso.com, where label is a value that completes the website address for the website you want to host on SharePoint Online. For example, you could set label to be www so your website would be located at https://www.contoso.com.
NOTE: Its very likely that you will get a pop up windows saying that you will need to do it using Microsoft Online Services Module for Windows PowerShell. Below are the powershell commands that you need to run.
–$cred= get-credentials
–Connect-MSOLService –Credential $cred
–Set =MSOLContentCredential –MSOLAdminCredentials $cred
–Add –MSOLFederatedDomain –DomainName label.contoso.com
Step 4: On the SharePoint Online Administration Center, create your SharePoint Online public-facing website, and then associate it with the third-level domain name you added in the previous step.
Step 5: Create a CNAME record in your public DNS for SharePoint Online at your domain name registrar in the same area where you created the DNS records for Exchange Online and Lync Online.
For SnapShots, please refer the attached ppt.