Hi again Anash,
I've been trying to implement the code you've illustrated but I'm having a few problems.
Problem 1) When you use: campaignFeed.matchingFunction.@operator == FunctionOperator.IN this only picks out those campaigns with more than one sitelink ad extension. Those with only one sitelink ad extension have an "EQUALS" FunctionOperator rather than an "IN". Is it safe to remove this condition, in order to pick up those campaigns matched with one sitelink ad extension only?
Problem 2) There is a bigger problem. The matching function does indeed return all active site link ad extensions associated with campaigns. However, if one removes the all the site links from a campaign (so that the campaign is left with no site links), the previously associated site link group is still returned by the matching function. I.e there seems to be a residue when removing the site links from the campaign wholesale. This maybe be illustrated better as follows:
If we start with an account with the following state
CampaignA => [SitelinkA, SitelinkB]
The matching function returns:
CampaignA => [SitelinkA, SitelinkB]
If we remove the site links so that there are no associated site links for the campaign
CampaignA => []
The residue of the old grouping of site links will still show up in the matching function as follows
CampaignA => [SitelinkA, SitelinkB]
If, however, one removes just a single site link from the original state of affairs, so that in the account it looks like
CampaignA => [SitelinkA]
The matching function will correctly return
If we were to now further remove SitelinkA the matching function will incorrectly report that SitelinkA is associated with CampaignA. Therefore when completely removing site links, there is a residue in the corresponding matching function.
Is this a bug?
Is there any way to produce a list of all current and active sitelink-campaign associations?
Visar