Recording campaign costs to calculate ROI for campaigns

In "Marketing --> Planning and Strategy --> Campaigns" we create campaigns and then we are able to add assets like landing pages or static list to it and this is great. We can also add budget and campaign goal and this is great too. 


My problem is that I want to see the ROI for my online and offline campaigns. When I run a TV ad, I redirect people to a separate URL / landing page so that I capture all the traffic and leads that flow through this channel. I add the landing page as an asset to my campaign so that all the contacts acquired by it belong to this campaign. 


But there is no place within the campaign where I can record my actual marketing spending and this is necessary to calculate ROI in reports. It would be great to have the possibility to record my actual ad spending for this campaign so that having ROI calculated I know if I still should be spending money on TV ads or not.


Ads spendings for online sources like Google or Facebook are recorder automatically and the ROI for these channels can be calculated with no problem. The same should be available for all the other marketing channels that are not integrated with HubSpot. I don't know if this should be at the campaign level because it can be mixed with the cost generated by its assets but maybe adding a new asset type ("advertising") and making it available to link with the campaign would be a good idea. 


It should be possible to assign costs for this new asset type and the costs should be considered when calculating ROI for this campaign. It should be possible to record "advertising" costs in a one-to-many relation for this asset type and within a certain date range i.e.: when I pay for TV ads on a monthly basis I put my advertising costs month-by-month. 


This would also allow me to measure the ROI on Facebook posts. When I hire a marketing agency to manage my Facebook and I pay them $5k / month, I can clearly see what is my ROI for this channel.


I think this would help a lot of people to save money on channels that are not performing as expected. Of course, multichannel attribution would be additional benefit to this.