Adobe Targetプロファイルスクリプト命令数エラーを回避する

Adobe Target プロファイルスクリプトの無効化

Adobe Targetのプロファイルスクリプトで、それまで動作していたのにいつの間にか非アクティブになってしまっていたことがありました。

調べてみると繰り返し処理のループ回数が当初より多くなっていたことにより、javascript命令数エラーになっていたので、その際に行った対策を紹介します。

プロファイルスクリプトの一覧で確認すると、ステータスにメッセージとして「属性は自動的に無効化されました : Script XXXXX executed more than 2000 instructions」と表示されています。

原因について

プロファイルスクリプトにはjavascript命令が2,000という制限があり、それを超えてしまうと自動的に無効化されてしまいます。

繰り返し処理がある場合などは、当初は動作していたのに、日数が経ったり特殊な条件下で制限を超えてしまう場合があります。

対処方法

  • new演算子はリテラルにする
    例:
    new Object() -> {}
    new Array() -> []
  • Array.push()は使用せず、文字列の結合を使用する
    arr.push(variable) -> arr += variable + ‘,’
  • 複雑な処理を別スクリプト化する
    スクリプト内で生成した変数を使用しない複雑な処理は別スクリプトとして記述し、コード内でuser.get(‘scriptName’)で参照します。
    別スクリプトでは必要に応じてスクリプトの実行条件やパラメータ参照をメインのスクリプトと同様に記述します。

参考

Implement DigitalではAdobe Targetの導入・実装・運用を支援するサービスを提供しています。

ご興味がありましたらお問い合わせください

この記事をシェアする :