You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Marketing Cloud模板邮件预览报错求助(ContentBlockByID异常)

Marketing Cloud模板邮件预览报错:ContentBlockByID调用失败(ID:38330)

问题描述

在Marketing Cloud创建「模板式邮件」时,预览环节触发报错,错误信息如下:

The subscriber preview failed to generate. Review the details, correct all issues, and try again.

An error occurred when attempting to evaluate a ContentBlockByID function call. Function Call: ContentBlockbyID("38330") See inner exception for details.

ID:38330对应头部模板,该模板已在现有模板邮件中正常使用,但新建邮件预览时触发此错误。头部模板的AMPscript代码如下:

%%[

var @DE_TermsManagement  set @DE_TermsManagement  = "DEV_DE_CashBack_TermsManagement"
var @DE_OperationMaster set @DE_OperationMaster = "DEV_DE_CashBack_OperationMaster"
var @DE_AMPErrorLog     set @DE_AMPErrorLog     = "DEV_DE_MCConnect_AMPscript_ErrorLog"


var @SearchWord_SmartRescue set @SearchWord_SmartRescue = "○○詳細"


var @Now set @Now = DateAdd(Now(), 15, "H")
var @ErrorFlag set @ErrorFlag = 0


var @OperationName
set @OperationName  = Lookup(@DE_OperationMaster, "OperationName", "Media", "MAIL", "SendContent", emailname_)


var @TermsURL_CashBack      
var @TermsURL_SmartRescue    


set @TermsURL_CashBack     = Lookup(@DE_TermsManagement, "URL", "規約分類", "CB", "規約パターン", ▽▽▽)
set @TermsURL_SmartRescue  = Lookup(@DE_TermsManagement, "URL", "規約分類", "OP", "規約パターン", @SearchWord_SmartRescue)


/* 【処理:データ取得に関するエラーチェック】                             */

if Empty(@OperationName) then
    set @ErrorFlag = 1
endif


if Empty(@TermsURL_CashBack) then
    set @ErrorFlag = 1
endif


/* 【処理:送信中止】                                         */
/*   □エラーチェックが失敗した場合、意図的にエラーを起こす   */
if @ErrorFlag != 0 then
    InsertDE(@DE_AMPErrorLog,,,,,, @OperationName)
    RaiseError("エラーが発生した為、プレビュー及び送信を中止します。", True)
endif

]%%

解决对策

1. 修复AMPscript占位符问题

代码中set @TermsURL_CashBack = Lookup(..., "規約パターン", ▽▽▽)里的▽▽▽是未替换的占位符,会直接导致Lookup函数执行失败,触发RaiseError,进而让ContentBlockByID调用报错(内容块内AMPscript执行出错)。

  • 将▽▽▽替换为实际的变量或固定值,比如对应的数据列值或预设规则标识。

2. 验证预览时的emailname_变量

@OperationName = Lookup(@DE_OperationMaster, ..., "SendContent", emailname_)中,预览模式下emailname_可能为空或与现有邮件的emailname_值不同,导致Lookup返回空值,触发ErrorFlag=1后执行RaiseError。

  • 预览时手动指定emailname_测试值,比如在代码开头添加set emailname_ = "测试邮件名称"(测试后删除),验证Lookup是否能正常返回值。
  • 检查DEV_DE_CashBack_OperationMaster数据扩展,确认存在对应新建邮件emailname_的记录。

3. 检查内容块权限与引用

虽然内容块38330在现有邮件中可用,但新建邮件可能存在权限或引用问题:

  • 确认新建邮件所在文件夹与内容块38330的文件夹权限一致,确保当前用户能访问该内容块。
  • 尝试重新插入内容块38330到新建邮件中,避免引用路径出错。

4. 修正错误日志写入逻辑

当前代码中InsertDE(@DE_AMPErrorLog,,,,,, @OperationName)参数格式错误,InsertDE需要按顺序指定列名和对应值,否则无法正确写入错误日志,难以排查具体错误原因。

  • 修正为标准格式,比如InsertDE(@DE_AMPErrorLog, "OperationName", @OperationName, "ErrorTime", @Now),方便查看是哪个Lookup操作失败导致的错误。

临时替代方案

如果紧急需要创建邮件,可临时注释错误检查和RaiseError部分,先完成邮件创建,后续再调试:

%%[

var @DE_TermsManagement  set @DE_TermsManagement  = "DEV_DE_CashBack_TermsManagement"
var @DE_OperationMaster set @DE_OperationMaster = "DEV_DE_CashBack_OperationMaster"
var @DE_AMPErrorLog     set @DE_AMPErrorLog     = "DEV_DE_MCConnect_AMPscript_ErrorLog"


var @SearchWord_SmartRescue set @SearchWord_SmartRescue = "○○詳細"


var @Now set @Now = DateAdd(Now(), 15, "H")
var @ErrorFlag set @ErrorFlag = 0


var @OperationName
set @OperationName  = Lookup(@DE_OperationMaster, "OperationName", "Media", "MAIL", "SendContent", emailname_)


var @TermsURL_CashBack      
var @TermsURL_SmartRescue    

// 临时替换占位符为测试值
set @TermsURL_CashBack     = Lookup(@DE_TermsManagement, "URL", "規約分類", "CB", "規約パターン", "测试规则标识")
set @TermsURL_SmartRescue  = Lookup(@DE_TermsManagement, "URL", "規約分類", "OP", "規約パターン", @SearchWord_SmartRescue)


/* 【処理:データ取得に関するエラーチェック】                             */

if Empty(@OperationName) then
    set @ErrorFlag = 1
endif


if Empty(@TermsURL_CashBack) then
    set @ErrorFlag = 1
endif


/* 【処理:送信中止】                                         */
/*   □エラーチェックが失敗した場合、意図的にエラーを起こす   */
/* if @ErrorFlag != 0 then
    InsertDE(@DE_AMPErrorLog, "OperationName", @OperationName, "ErrorTime", @Now)
    RaiseError("エラーが発生した為、プレビュー及び送信を中止します。", True)
endif */

]%%

内容的提问来源于stack exchange,提问作者LEON.jp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 18:05:13