Hi Barak,
This is possible.
Read the campaign you want to duplicate:
function GetCampaignsExample() {
// Get the service, which loads the required classes.
$campaignService = $user->GetService('CampaignService', ADWORDS_VERSION);
Then create a new campaign with the same details:
function AddCampaignsExample() {
// Get the BudgetService, which loads the required classes.
$budgetService = $user->GetService('BudgetService', ADWORDS_VERSION);
This will only duplicate your campaign, it wont furnish it with AdGroups ect. To do that you'll need to repeat the above process in a similar manner for anything you need.
Can anyone suggest a better method?
Thanks