Get your song onto your songs list on the iTunes library; right click on it and go to song info, then choose the options tab and make the length of the ringtone 30 seconds or less (or the song won't be recognised as a ringtone), starting from wherever you like (or just change the start to 0:00 and stop to 0:30). Then close the song info; select the song and choose the "File" tab on the top left corner of iTunes.
Choose convert>convert to AAC. Once that is done, select the AAC song (there will be 2 files of the song check which one is AAC by right clicking one of them and selecting song info>about song) and right click on it. Choose 'Open in Finder' (for MacOS users) or 'Open in Windows Explorer' (for Windows users). Once the song is located in Finder/Windows Explorer, rename the song from "song name here".m4a to "song name here".m4r
Now make sure your device is connected and is visible in the iTunes application. Open the 'Tones' section, and drag the song with the m4r extension into it. If this step is done, the process is successful.
Open your device's 'Sounds' tab in the settings, and go to 'ringtones'. Your recently added song would appear there as a regular ringtone if the process is done right. If not, reply your query and I shall try to resolve it ASAP.
Note: The above procedure was successfully executed using iTunes v12.7.2.60 with an iPhone 6S. Hope that helps!