Express + CSP + GA4 + Tag Assistant が繋がらない問題

CSP(Content Security Policy)を強化した環境で Google Analytics(GA4)やGoogle Tag Manager(GTM)を安全に動かすのは、実務でも難易度が高いテーマです。

やりたいことは単純で、Express フレームワーク上に構築した Web アプリケーションに Google Analytics のような解析ツールを導入することです。

一見すると簡単に見えますが、実際に導入すると Tag Assistant が Not Connected になる問題がよく起こります。

スクリプトを貼り付けるだけなのにどうして・・・

結論から述べると CSP と Google ツールは正しく設定しないと設計通りに動作しません。

Google Analytics とそれに付随する Tag Assistant / GTM は iframe や postMessage などの動的スクリプト挿入を多用します。

一方 CSP は許可されたスクリプト以外は全てブロックする仕組みです。

なんか最初から仕様が衝突しているような印象を受けますが、何も考えずに導入すると Google ツールが CSP に妨害されて動作しないことがよく起こります。

これに対する対処として

‘unsafe-inline’
‘unsafe-eval’

を追加して解決する方法が提案されているのを目にしますが、これはセキュリティ的には後退です。

より安全で実務的な構成としては nonce + strict-dynamic のほうが適しているのではないかと思うわけです。

Continue reading “Express + CSP + GA4 + Tag Assistant が繋がらない問題”

新NISAで暴落時に覚えておくべきこと

米国トランプ政権の関税政策により世界的に株価が暴落しています。

とくに日本市場や香港市場は歴史的な株価の下落を記録しています。

25年4月7日の日経平均株価の一日の下落幅は歴代3位。香港市場に至っては1997年の主権移譲以後で最大の落ち込みです。

新NISAで株式投資を始めた初心者の方のなかには怖くなって損切りしてしまう人も実際にいるかもしれません。

日経平均株価は2万円を割るだとか、世界恐慌になるだとか根拠も示されずに無責任な言論が飛び交っているので、個人的に覚えておいたほうがいいと思うことを公開します。

Continue reading “新NISAで暴落時に覚えておくべきこと”

How to fix your AdMob app-ads.txt whose status is either missing or not valid.

App-ads.txt helps ensure that applications with in-app ads belong to publishers. It is designed to protect publishers and developers from fraud.

Publishers are required to create an app-ads.txt for applications and upload it to the root directory of the application website listed on Google Play or the App Store. App-ads.txt file like below is provided as a code snippet on Google AdMob.


google.com, , DIRECT, 0000000000000000


This snippet does not contain the publisher ID. You, the publisher, manually add your publisher ID, which can be found in the profile section in the upper right-hand corner, to the second field.

Unless your app-ads.txt is properly formatted, AdMob crawl status is set to “No app-ads.txt file found“. If your app-ads.txt could be accessed via AdMob app-ads.txt link and AdMob still did not find your app-ads.txt file, your file is very likely to be malformed or the character encoding of the file is invalid.