重要: この質問は実際には ASP.NET に関する質問ではありません。URL について何か知っている人なら誰でも答えることができます。たまたま ASP.NET ルーティングを使用していたので、その詳細を含めました。
一言で言えば、私の質問は次のとおりです。
「私のサイトの特定の場所に到達するために外部関係者に与えることができる、将来の証明となる URL 形式を設計する必要があります。[これらの 'REST' URL を作成するのは初めてです]。」
マーケティング キャンペーンを追跡するためにサード パーティに提供される ASP.NET ルーティング URL が必要です。これは基本的に、ホームページ、特別なコンテスト、または特定の製品など、当社サイトの特定のページにユーザーをリダイレクトする「ゲートウェイ」URL です。
リファラーを取得しようとすることに加えて、partnerId、キャンペーン番号、および場合によってはその他のパラメーターを受け取る必要があります。これを行うためのルートを提供したいのですが、外部で使用すると明らかに簡単に変更できないため、最初に正しく取得したいと考えています。
このようなものはどのように見えますか?
routes.MapRoute(
"3rd-party-campaign-route",
"campaign/{destination}/{partnerid}/{campaignid}/{custom}",
new
{
controller = "Campaign",
action = "Redirect",
custom = (string)null // optional so we need to set it null
}
);
キャンペーン: 実際のリンクに「キャンペーン」という単語を含めたくない場合があります。ユーザーは URL バーに表示されるためです。これを「c」のような不可解なものに変更するかもしれません。
destination : リンク先のサイトのどのページにユーザーが移動するかを指定します。たとえば、ユーザーを製品ページに誘導する PR。
partnerid : 割り当てた会社の ID - スタック オーバーフローの SO など。
Campaignid : 123 などのキャンペーン ID - 各パートナーに固有。「キャンペーンを作成する」ための Web サイトを提供するよりも、サードパーティの会社がキャンペーン ID を自分で管理できる方がよいと思います。ただし、これについてはまだ完全にはわかりません。
custom : カスタム データ (オプション)。既存の URL を壊すことなく、さらにカスタム データ パラメータを追加できます
注: 「目的地」がある理由は、キャンペーン ID がクライアントによって決定されるため、そのキャンペーンの目的地がどこにあるかも伝える必要があるためです。または、キャンペーンを「登録」することもできます。これは、人々がランダムなキャンペーン ID を入力するのを避けるためのより良い解決策かもしれませんが、私はそれについてあまり心配していませんし、このシステムにより柔軟性が増すと思います.
さらに、おそらくどの画像が私たちへのリンクに使用されたかを知りたいと考えています (これにより、どのバナーが最も効果的かを追跡できます)。これは、カスタム データ フィールドではなく、新しいキャンペーン ID の候補だと思いますが、よくわかりません。
現在、 http://example.com?cid=123などの非常に原始的な URL を使用しています。この場合、キャンペーン ID を第三者に発行する必要があり、あまり柔軟なシステムではありません。新しいクライアントのために新しいシステムにすぐに移行したい。
このシステムの将来の証明について何か考えはありますか? 何を見逃したのでしょうか?いつでも新しい形式を追加できることはわかっていますが、この形式が良いアイデアである場合は、できるだけこの形式を使用したいと考えています。