So all in all, this is a simple process.
You'll need to create a form update Rule then you'll create two processing steps on your form.
First the Form update Rule.
go to Audience > Tools > Form update Rules.
Hit New to create a New one. We'll call ours "copy LS- MR to LS-O"
It's going to operate on the Entity type Contacts and the Data field is Email Address
Now we just create one rule as below:
This copies the value from Lead Source - Most recent Into Lead Source Original. That's all it does.
Now the processing steps.
Obviously we want to Update our Contact table, so we add the Update Contacts - With Form Data step.
There's two ways you can set your value, - either set a static value in the form field so that same value is passed every time,
Either way we map that field to Lead Source - Most Recent
This ensures that for EVERY form submission a relevant Lead Source value is written into the Lead Source - Most Recent field (as it should be, 100% of the time).
We then add a second processing step to utilise our new Form update Rule.
The step we use is 'Update Contacts with Custom Values'.
click the 'Apply shared Update Rule' button to add your Form Update Rule, and set the step to operate conditionally if Lead Source - Original (is Blank)
You could just set it as a one-off processing step to update the field from Lead Source - Most Recent to Lead Source - Original, but by creating a shared rule we can use it on every form!
And that is that,
Lead Source - Most recent will always be set to your value, so will be updated 100% of the time.
Lead Source - Original will grab that value the first time a value is set, but never after that.
I hope that helps.
Eloqua Principal Technical Account Manager,
Oracle Cloud Priority Support.