Hi Ai Le,
As per my understanding, would you like to save UTM parameters with other basic information when form submitted?
If so, currently you should add some javascript on your marketing page to achieve the requirement.
1. Create custom UTM fields for Contact entity, add them as marketing form fields and hide them by default.
2. Create a javascript on your marketing page, it'll capture UTM parameters in URL and append these data to corresponding fields.
You can take this article as reference for how to capture parameters from URL and add the data to fields:
https://www.terminusapp.com/blog/bet-you-havent-used-utm-parameters-like-this/
Then run the custom function at afterFormLoad event(API from D365 marketing form):
https://docs.microsoft.com/en-us/dynamics365/marketing/developer/marketing-form-client-side-extensibility#form-events
3. There are several ways to store submission:
• Create a custom entity, e.g: UTM Submission Record, add necessary fields such as Campaign Type ,Medium, Regarding Contact and Regarding Marketing Form.
Then create a workflow for Contact entity, trigger it when record is created or updated, create a new UTM Submission Record from contact's context.
• Enable "Store form submission" option to save all submission records:
https://docs.microsoft.com/en-us/dynamics365/marketing/failed-submissions#choose-whether-to-keep-all-incoming-submissions-or-just-failures
• Each submission will be available in Insights > Submission tab by default, (without any customization) there are two ways to export it:
-> Connect your marketing application to Power BI to export:(You need to subscribe Azure blob for storage)
https://docs.microsoft.com/en-us/dynamics365/marketing/custom-analytics
-> If you had enabled 2020 wave 1 early access for your instance, then you can export Insights data to excel directly.
Settings > Other settings > Feature switches:

An excel button will display after we enabled the feature:

Regards,
Clofly