Its not what's more effective, they are two different things. On-page SEO is the technical elements that make up each individual webpage and the complete website. So things like optimising for page load speed, mobile responsiveness, crawl ability etc and page elements like Title tags, Meta descriptions, page content etc.
On-page is the foundation of a website. In low competition niches, its possible to rank high just with great on-page optimisation.
Off-page is any activity on another website that points to your website. So links, social shares etc form the basis of Off-page SEO.
If your site is not ranking for your desired keywords, then look at your On-page SEO first. Get your site optimised to todays standards.
Then if you still need a boost to the first page, you will need to start acquiring backlinks and social signals from niche relevant (and local relevant for local businesses) websites.
I'm not quite sure I fully understand your question. Can you add some additional detail?