The question you just asked requires a full course in order to explain everything in detail. But in a nutshell:
Build your own custom audience: If you don't know how then do a simple Google search. This will help you get targeted traffic and lower you cost per click.
Split test images: Use at least 5 different images and select the one that has the most clicks.
Different campaign for each device: most of the mobile clicks are not intentional and mobile seems to get a lot of useless clicks. So it's either you switch if off or have different campaigns.
Ad Set Date: use day partying to show your campaign in specific times. This is good for business that have opening and closing hours. Or if you don't want your ad to run while people are asleep.
Split test everything: including titles and descriptions.
Use call-to-action button: A lot of people miss this, and it can be hard to find if you're moving fast. But use these buttons to improve CTR (download, signup, learn more etc.)
Keep traffic within facebook: Keeping your traffic within facebook also lowers the cost per click as compared to sending the traffic to an external website.
Hashtags: Yes, no one will tell you this, it's ninja. This will not only bring more traffic but it will categorize your post by topic. But hashtags are not that popular on facebook though so it might not work well in your niche.
Run campaign for long period: Keep your campaign running, a lot of people won't click on your ad the 1st time they see it. But if they start to see it frequently they get curious and click the Ad.
You should be willing to spend more: Honestly, facebook ads no longer convert well so you have to be willing to spend a lot of cash.
Your question is too broad but hope that helps and good luck.