Official Heroku App dns page:
On the Dreamhost Side:
From the panel, Go to your Manage Domains Page and make sure the domain is DNS only. If you have hosting on the domain, use the “remove” button under the “web hosting” column:
Once the domain is dns only, click the dns link under your domain name and add these records:
Custom DNS Options:
Name: subdomain, leave blank for naked/root domain
Type: type of dns record, such as A record, Cname, TXT
Heroku App only allows Cname sub-domain Records.
Settings Needed for this setup:
Then you must set your domain to redirect to the www subdomain of the site. Go back to the Manage Domains Page and use the add button:
On the next page use the “Redirect” and redirect the domain to the www version of the site where the record is. This will cause all traffic to go to that record.
Note: This guide has been created to help simplify setting your domain up. The service you are pointing your domain to, DNS can/might has changed. Always check the hosts official page to verify the records.