Unable to Save the Promotion when we added new banner/ Campaign Component to the existing Promotion.

Error : ERROR WebServiceExecutor - Unable to save Campaign with Id: SmartTargetMetaPromotion (SmartTarget Meta Promotion (do not remove!)), status code = 404.

An error occurred while processing this request.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<message xml:lang="en-US">Unable to update Promotion 'New test promotion 25.11.2015'.</message>
   at System.Data.Services.Client.SaveResult.HandleResponse()
   at System.Data.Services.Client.BaseSaveResult.EndRequest()
   at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
   at Tridion.Web.UI.Models.SmartTarget.Promotions.SavePromotion(String instanceId, Promotion promotion, String insertAfter)
   at Tridion.Web.UI.Models.SmartTarget.Services.SavePromotion(String publicationTargetId, String promotionXml)
   at SyncInvokeSavePromotion(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
ERROR in Smart Target Log : 2019-11-26 10:10:05,851 DEBUG LabelsHelper - Started fredhopper query call
2019-11-26 10:10:05,851 INFO  WebServiceExecutor - Trying to see if a label with id: smarttarget exists using the Fredhopper WebService URL: https://xx.prepublished.xxx.fas.eu1.fredhopperservices.com/fredhopper/config/labels/single/smarttarget
2019-11-26 10:10:05,862 DEBUG WebServiceExecutor - Fredhopper Web service call for retrieved result in: 21 ms.
2019-11-26 10:10:05,942 DEBUG WebServiceExecutor - Trying to retrieve a result within a timeout of 20000 ms.
2019-11-26 10:10:05,956 DEBUG PromotionsDataMapper - Started fredhopper query call
2019-11-26 10:10:06,056 ERROR WebServiceExecutor - Unable to save Campaign with Id: SmartTargetMetaPromotion (SmartTarget Meta Promotion (do not remove!)), status code = 404
2019-11-26 10:10:06,056 DEBUG WebServiceExecutor - Fredhopper Web service call for retrieved result in: 114 ms.
cd_core.log: 2019-11-26 10:10:06,061 ERROR SmartTargetPromotionsWritableODataRegistrationService - Unable to update Promotion 'New test promotion 25.11.2015'.
com.tridion.smarttarget.SmartTargetException: Failed to save the Promotion. Check the SmartTarget log for details.
    at com.tridion.smarttarget.promotions.PromotionsDataMapper.savePromotion(PromotionsDataMapper.java:97)
    at com.tridion.smarttarget.promotions.PromotionsDataMapper.savePromotion(PromotionsDataMapper.java:65)
    at com.tridion.smarttarget.promotions.SmartTargetMetaDataPromotion.save(SmartTargetMetaDataPromotion.java:164)
    at com.tridion.smarttarget.promotions.Promotion.updateMetaDataPromotion(Promotion.java:564)
    at com.tridion.smarttarget.promotions.Promotion.synchronizedUpdateMetaDataPromotion(Promotion.java:534)
    at com.tridion.smarttarget.promotions.Promotion.beforeSave(Promotion.java:519)
    at com.tridion.smarttarget.promotions.Promotion.save(Promotion.java:485)
    at com.sdl.web.experience.management.SmartTargetPromotionsWritableODataRegistrationService.update(SmartTargetPromotionsWritableODataRegistrationService.java:151).

2 Answers 2


Your issue is com.tridion.smarttarget.promotions.Promotion.updateMetaDataPromotion(Promotion.java:564)

Metadata promotion is the promotion containing metadata on all promotion. If you cannot update it, then you need to check if indexer on fredhopper is working, if it is available, and if you can update promotions over it. So please restart indexer first, verify it is available, and then check if it possible again.

As an update, it seems like your metadata promotion is DELETED since it returns 404.

  • Hi @Marko Milic, Fredhopper is setup by third party vendor, We can ask them to check the indexer availability on fredhopper. But is it any impact on restart the indexer. 1. Do we need to republish the promotions. 2. Will the promotions will display as is on website level. Please let me know if you have any further inputs.
    – Sree G
    Commented Nov 27, 2019 at 9:30

Normally if the Meta Promotion is gone, it will just be recreated (albeit with some data loss). So I don't think the problem is that it has been deleted.

It seems more like a configuration issue to me. Either the URL to Fredhopper is wrong, or the credentials used are invalid. That might also result in a 404 error. The Fredhopper logs should tell you what is going on.

You can also try to log into the Business Manager using the details in the configuration; that might bring the issue to light.

  • Hi @Peter Kjaer, We try to access the Fredhopper query service URL, Which is configured in "smarttarget_conf.xml" So the issue may not be Invalid credentials or accessing the Fredhopper. Yes we can able to Login to Businness manager with the details provided in the configuration. Please let me know if you have more inputs.
    – Sree G
    Commented Nov 27, 2019 at 9:09
  • Did you check if the Meta Promotion existed while you were at it? Commented Nov 27, 2019 at 14:44
  • Also, are you sure you were using the configuration settings from the management service and that they aren't commented out there? Commented Nov 29, 2019 at 10:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.