试图了解这个电子商务场景......
所以问题是,如何保持会话和购物车中的项目? 我错过了什么吗?我有没有看到的伎俩?
欣赏任何见解。
答案 0 :(得分:3)
将购物车与CLIENT_ID
相关联是解决此问题的最佳方法。很遗憾,AMP尚不支持转移CLIENT_ID
via表单。它目前正在实施,您可以观看此issue获取当前状态。
这是一种现在可行的方法:我们的想法是将购物车内容编码为在表单结果中返回的字符串。这样我们就可以生成"查看购物车"和"结帐"包括购物车内容在内的链接。用户点击其中一个链接后,您可以在后端创建实际的购物车,并将用户ID存储在Cookie中。
例如:
<form action-xhr="/add-to-cart" method="POST">
<input type="hidden" name="itemId" value="headphones-123">
<!-- Hide after form submit success -->
<input type="submit" name="add" value="Add to Cart">
<div submit-success>
<template type="amp-mustache">
<!-- shopping cart contents, e.g headphones-123 -->
{#shoppingCartContent}
<a href="/cart/view/{{shoppingCartContent}}">View In Cart</a>
<a href="/cart/checkout/{{shoppingCartContent}}">Checkout</a>
{/shoppingCartContent}
</template>
</div>
<div submit-error>
<template type="amp-mustache">
{{message}} <!-- e.g. Only 2 Headphones are left. -->
</template>
</div>
</form>
这种方法的缺点是,当用户离开页面而不首先查看购物车时,购物车将丢失。一旦CLIENT_ID
可以通过放大器形式传递,这将得到解决。
答案 1 :(得分:1)
我也知道有关AMP网页的信息非常有限,但我建议您阅读使用User identification并尝试使用AMP生成的client ID
。如文档中所述:
默认情况下,AMP将管理客户端ID的提供,无论是从发布者的原始网站还是通过缓存访问该页面。
同样,请详细了解客户端ID替换,包括如何在Variables supported in AMP analytics中添加可选的用户通知ID。
希望有所帮助!