"*ࣄۀຊ෦ͱϑϩϯτΤϯυΤϯδχΞ
View Slide
Name!CSO 5BLFUPTIJ"POP੨݈རOccupation'SPOUFOE%FWFMPQFS1SPEVDU0XOFSCompany$ZCFSBHFOU"*4UVEJPO"*4IJGUOSS$POUSJCVUPSPG7+BWBTDSJQU&OHJOFAboutIUUQJOGPCODI
Carrier- 2010- ྵࡉWebडୗձࣾʹೖࣾJSFlash(AS2/3)ΛΔ- 2011- CyberAgentೖࣾ- ࠂܭଌπʔϧͷཧը໘ɾλά࣮- TagManagerͷ࣮- …৭ʑ- 2018- AIࣄۀຊ෦Chatbot։ൃͰ։ൃऀ
ͭͷࣄۀΛల։
ຊͷ༰"*ࣄۀຊ෦Ͱಇ͘ۀγεςϜͱϑϩϯτΤϯυΓ͕͍
"*ࣄۀຊ෦Ͱಇ͘
"*ࣄۀຊ෦Ͱಇ͘AIࣄۀຊ෦ͰϑϩϯτΤϯυ։ൃऀ͕ͲΜͳ͜ͱΛ͍ͯ͠Δ͔தʑ૾ͮ͠Β͍Ͱ͢ΑͶʁ
"*ࣄۀຊ෦Ͱಇ͘ϝσΟΞܥͷࣄۀ෦ͱϏδωεۀଶ͕ҧ͍·͢ϝσΟΞܥͷଟ͘ͷࣄۀ෦B2C(Ϗδωε to ίϯγϡʔϚʔ)Ͱɺফඅऀʹ࡞ͬͨͷΛఏڙ͢ΔۀଶͰ͢ҰํAIࣄۀຊ෦͍ΘΏΔB2B(Ϗδωε to Ϗδωε)ͷۀଶ͕ଟ͘ɺπʔϧը໘ͷఏڙઌओʹاۀʹͳΓ·ͨͩ͢ɺͦͷఏڙઌاۀ͕͞Βʹ͓٬͞Μʹͦͷ··ఏڙ͢Δέʔε͋ΔͷͰɺB2B2C(Ϗδωε => Ϗδωε => ίϯγϡʔϚʔ)ͱ͍͏ۀଶଟʑ͋Γ·ͦͯ͢͠B2BͰओʹۀγεςϜͷ։ൃΛߦ͍·͢
"*ࣄۀຊ෦Ͱಇ͘ͰB2CͱB2BͰ࣮ࡍʹͲΜͳҧ͍͕͋ͬͯɺͲΜͳ࣮͕͋Δͷ͔ͪΐͬͱ͚ͩݟͯΈ·͠ΐ͏
ۀγεςϜͱϑϩϯτΤϯυ
ۀγεςϜͱϑϩϯτΤϯυ• JS SDKΛ࡞ͬͨΓ• ސ٬͕͏ཧը໘Λ࡞ͬͨΓ• ͓٬͞ΜͷϑϩϯτΤϯυपΓͷΈղܾΛ͠·͢ʂ
8IBUJT+44%,͓٬͞ΜͷϖʔδʹKBWBTDSJQUͱIUNMͷεχϖοτΛຒΊࠐ·ͤͯΒͬͯɺ༷ʑͳࢪࡦΛ࣮ࢪ͢ΔͨΊͷͷۀγεςϜͱϑϩϯτΤϯυ
<br/><br/><br/>window.dataLayer = window.dataLayer || [];<br/><br/><br/>function gtag(){dataLayer.push(arguments);}<br/><br/><br/>gtag('js', new Date());<br/><br/><br/>gtag('config', 'GA_MEASUREMENT_ID');<br/><br/><br/>
• ΞΫηεղੳΛͨ͠Γ• WidgetΛදࣔͨ͠Γ• ࠂΛදࣔͨ͠Γ͢ΔۀγεςϜͱϑϩϯτΤϯυ+44%,ͱ
+44%,։ൃUI͕ͳ͍߹γϯϓϧʹjavascript/typescriptίʔυʹͳΔͷͰɺϩδοΫத৺ͷ७ਮͳϓϩάϥϛϯάʹͳΔ͜ͱ͕ଟ͍ҙ֎ͱOQNʹ͑Δύοέʔδ͕ͳ͍͜ͱ͕ଟͯࣗ͘࡞ίʔυϝΠϯʹͳΔέʔε Γ͍ͨ͜ͱ͕ಛघͳέʔεۀγεςϜͱϑϩϯτΤϯυ
• άϩʔόϧԚછʹؾΛ͚ͭΔ• ͑ΔAPIΛͪΌΜͱఆٛ͢Δ(ෆඞཁͳͷΛ֎ʹग़͞ͳ͍)• ͓٬͞ΜͷαΠτ্ͳͷͰηΩϡϦςΟʹؾΛ͚ͭΔ(XSSͱ͔)• ύϑΥʔϚϯεʹؾΛ͚ͭΔ• ͓٬͞ΜͷαΠτ্ͳͷͰόά͕͋Δͱதʑ·͍ͣ…• ϒϥβޓੑۀγεςϜͱϑϩϯτΤϯυ+44%,։ൃ
+44%,։ൃUI͕͋Δ߹͓٬͞ΜͷαΠτʹUIΛ֎෦͔Βߏங͢ΔͷͰɺCSSͷԚછʹؾΛ͚ͭͨΓɺUIͷͱ͔B2CͷݟඞཁʹͳΔ͜ͱ͕͋ΔۀγεςϜͱϑϩϯτΤϯυ
ϒϥβޓੑΫϥΠΞϯτʹͲͷϒϥβ·ͰରԠ͍ͯ͠Δ͔໌ࣔΛٻΊΒΕΔέʔεଟ͍ͷͰɺͪΌΜͱରԠ04ϒϥβɾαϙʔτํΛ໌͓֬ͯ͘͠ۀγεςϜͱϑϩϯτΤϯυ
ཧը໘։ൃB2Bܥͷࣄۀͩͱ΄΅ඞਢʹͳΔ։ൃΫϥΠΞϯτ͕πʔϧΛίϯτϩʔϧͨ͠ΓϨϙʔτΛݟͨΓ͢ΔͨΊͷը໘ۀγεςϜͱϑϩϯτΤϯυ
• SSRͱ͔͋·Γ͍Βͳ͍(͋Εྑ͍͚Ͳ)• CRUDΛඞ࣮ͣ͢Δ• ೝূܥͷݟඞਢ• ҙ֎ͱάϥϑΟοΫඳըܥͷ͕ࣝ͋Δͱ͏໘͕͋Δ(Ϩϙʔτɾͳʹ͔Λ࡞͢Δπʔϧͱ͔)• UIίϯϙʔωϯτཧͷݟ• UIɾUXͷઃܭྗ͕ඞਢ• ׂͱ͍͜͠Stateཧ͕͍ΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃͷಛ
443ͱ͔͋·Γ͍Βͳ͍ཧը໘ͲͪΒ͔ͱ͍͏ͱ8FC Core VitalsͷΑ͏ͳͷ͕ڧ͘ٻΊΒΕ͍ͯͳ͍ͷͰɺSSRແཧͯ͠·ͰΔඞཁͳ͍(Ζ͏ͱͯ͠ೝূ͕͋ΔͷͰ݁ߏେม)ͦΕΑΓৗʹಈ࡞ΛอূͰ͖Δํ͕ॏཁͨͩ͠ύϑΥʔϚϯεࣗମۀޮʹ݁͢ΔͷͰɺ$PNQPOFOUͷׂͱ͔ͦͷ͋ͨΓ͔ͬ͠ΓΔඞཁ͕͋ΔServiceWorker͏͋ͱͦͦϑϩϯτΤϯυଆͷΞϧΰϦζϜͷύϑΥʔϚϯε͕ٻΊΒΕΔ͜ͱଟ͍ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
$36%Λඞ࣮ͣ͢ΔCRUD(Create,Read,Update,Delete)࡞ɾಡΈग़͠ɾߋ৽ɾআͷུཧը໘Ͱඞͣ͜ͷ͕ͭඞཁʹͳΔྫ ChatBotͷγφϦΦ- γφϦΦͷ࡞ $SFBUF- ࡞ͨ͠γφϦΦͷࢀর 3FBE- γφϦΦͷߋ৽ 6QEBUF- γφϦΦͷআ %FMFUFۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
3FBE 6QEBUF$SFBUF %FMFUF
ೝূܥͷࣝඞਢඞͣϩάΠϯ͕ඞཁͳͷͳͷͰɺೝূͷΈɾͲͷೝূͰ࣮͢Δ͔ɾཁૉೝূɾιʔγϟϧϩάΠϯͱ͔αʔόαΠυνʔϜͱಉ༷ʹࣝΛΞοϓσʔτ͓ͯ͘͠ඞཁ͕͋ΔͨͩࠓͲ͖'JSFCBTF Auth͔ͭͬͨΓ3rd partyͷศརͳೝূػೳ։ൃπʔϧΛ͏͜ͱ͕ଟ͍ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
ҙ֎ͱάϥϑΟοΫܥͷ͕ࣝ͋ΔͱΑ͍طଘͷϥΠϒϥϦΛ͏ʹͯ͠Ϩϙʔτ47(ɾ$BOWBTΛͬͯඳը͢Δ͜ͱ͕ଟ͍ͷͰɺͦͷΜͷ͕ࣝ͋ΔͱʹཱͭͨͩϨϙʔτʹؔͯ͠֎෦ͷ#*πʔϧΛͬͨΓ͢Δ͜ͱ૿͑ͨͷͰඞਢͰͳ͍͔ͦΕҎ֎ʹը໘ૢ࡞ͰෳࡶͳͷΛઃఆ͢Δέʔεͨ·ʹ͋ΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
6*ίϯϙʔωϯτཧͷݟཧը໘ಉ͡ػೳɾίϯϙʔωϯτΛ܁Γฦ͠͏έʔε͕ଟ͍ͷͰɺ6*ίϯϙʔωϯτΛ͔ͬ͠Γͱཧ͢Δඞཁ͕͋Δಛʹଟ͍ͷ͕ɺҰ෦͕ҧ͏ίϯϙʔωϯτɺΞΧϯτͷݖݶʹΑͬͯ͑Δػೳ͕ҧ͏ίϯϙʔωϯτ͜ͷลཧํ๏ʹΑΔ͕ɺྫ͑"UPNJD DesignͳΒatom/moleclues/organismsΛͪΌΜͱ͢Δඞཁ͕Ͱͯ͘ΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
6*69ͷݟ͓٬͞Μຖը໘Λݟͯ࡞ۀΛ͢ΔͨΊɺ#$ͷ69ͱҧ͏গ͠ҧͬͨ6*69ͷ࣮͕ٻΊΒΕΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
• ॳݟͰ໎Θͣૢ࡞Ͱ͖Δ͜ͱ• ૢ࡞ʹͳΕͨਓૉૣ͘ૢ࡞Ͱ͖Δ͜ͱ• ૢ࡞ϛε͕ى͖ͮΒ͍͜ͱ(আ֬ೝϙοϓΞοϓग़ͨ͠Γ)• ΞΫηγϏϦςΟ(͜͜B2Cͱಉ͡)ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ6*69ͷݟ
ॳݟͰ໎Θͣૢ࡞Ͱ͖Δ͜ͱॳݟͷਓͰ͍͍͢ͱɺ͠ڝ߹ͱͷπʔϧൺֱΛΫϥΠΞϯτ͕࣮ࢪ͍ͯͨ͠߹େ͖ͳΞυόϯςʔδʹͳΔγϯϓϧʹڝ૪ྗʹͭͳ͕ΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ6*69ͷݟ
ૢ࡞ʹͳΕͨਓૉૣ͘ૢ࡞Ͱ͖Δ͜ͱπʔϧͷૢ࡞ʹͳΕ͖ͯͨਓ͕ΑΓޮΑ͘ૢ࡞Ͱ͖ΔΑ͏ʹͳΔͱۀޮ্͕͕ΓɺπʔϧͷධՁϙΠϯτʹͳΔʢγϣʔτΧοτΩʔͱ͔ʣۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ6*69ͷݟ
ૢ࡞ϛε͕ى͖ͮΒ͍͜ͱཧπʔϧ݁ߏக໋తͳૢ࡞Λ࣮ࢪ͢Δ͜ͱ͕͋Δ ԿΒ͔ͷγεςϜͷఀࢭɾআͷͰɺඞͣ࡞ɾআͷૢ࡞ʹ༷ʑͳํ๏Ͱ֬ೝΛ͢Δ69ͷઃܭʹ͢Δ ֬ೝϙοϓΞοϓɾ໊લͷ࠶ೖྗ·ͨૢ࡞ͷޭ࣌ʹ௨ग़͖͢ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ6*69ͷݟ
ΞΫηγϏϦςΟ͜͜ผʹಛతͰͳ͍ΈΜͳͪΌΜͱΓ·͠ΐ͏લड़ͷૢ࡞ͷ͢͠͞ʹ݁͢ΔͷͰ UBCҠಈͱ͔Ͷͬͨํ͕γϯϓϧʹධՁʹͭͳ͕Γ͍͢ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
ׂͱ͍͜͠4UBUFཧStateཧ͕݁ߏෳࡶʹͳΓ͕ͪۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ
• ओʹCRUDͷ͍ͤ• Loadingঢ়ଶɾ։ดঢ়ଶ͕͍ͬͺ͍• ೝূঢ়ଶʹΑ͔ͬͯΘͬͨΓۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ4UBUFཧ
$36%ͷ4UBUFཧྫ͑MJTUܥͷΞΠςϜΛ࡞͢Δ߹- อଘલʹೖྗ͞ΕͨΞΠςϜͷঢ়ଶΛཧ͢Δ- ࡞"1*Λୟ͘- αʔό͔Β࡞͞ΕͨΞΠςϜͷ*%͕ฦͬͯ͘Δ- Ϧετͷ4UBUFΛߋ৽ಛʹҰ࣌తͳͷཧΛٻΊΒΕΔέʔε͕ଟ͍ۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ4UBUFཧ
-PBEJOHɾ։ดঢ়ଶͱ͔ͷ4UBUFཧAPIΛݺͼग़͍ͯ͠Δؒʹଞͷૢ࡞ΛෆՄೳʹͨ͠ΓɺAPIͷਐߦঢ়گΛݟͤΔͨΊʹLoadingΛදࣔ͢Δέʔε͕ଟ͍͜ͷ-PBEJOHঢ়ଶΛͲ͏ཧ͢Δ͔͕ࢼ͞ΕΔϙΠϯτ͋ͱφϏήʔγϣϯͩͬͨΓɺΞΠςϜͷ։ด͕Ͱ͖Δը໘ଟ͍ͷͰɺͦΕΒࡶଟͳ6*ͷঢ়ଶཧΛؤுΔඞཁ͕͋ΔۀγεςϜͱϑϩϯτΤϯυཧը໘։ൃ4UBUFཧ
Γ͕͍
6*ͷແ͍ϑϩϯτΤϯυϑϩϯτΤϯυଆͰ७ਮͰෳࡶͳϩδοΫͷ࣮Λ͢Δ͜ͱ͕݁ߏ͋ΔͷͰɺͦ͏͍͏ͷ͕͖ͳਓ͍ͯΔͱࢥ͍·͢ݸਓతͳܦݧͱͯ͠1ྫͰ͕͢- TagManagerͷ࣮- ϒϥβͷScriptൃՐλΠϛϯάΛશͯίϯτʔϧͨ͠Γ(ϒϥβͷಈ࡞Λ฿͢ΔͨΊʹ༏ઌ͖ΩϡʔΛ࡞ͬͨΓɺ2ώʔϓ࣮ͨ͠Γ)ɺը໘্Ͱอଘ͞ΕͨjavascriptΛͦͷͰίϯύΠϧ͢Δػೳͭͬͨ͘Γ- ChatBotͷγφϦΦ࡞Ͱ༗άϥϑͷཧɾෛͷॏΈ͖࠷ܦ࿏ΛௐΔͳΜ͔ΛͬͨΓ͠·ͨ͠ͳ͔ͳ͔B2CͰܦݧ͢Δͷ͍͠༰͔ͳͱࢥ͍·͢
Ϗδωεͱ݁࡞ͬͨͷ͕ΫϥΠΞϯτʹධՁ͞Εͯɺ͞ΒʹͦΕʹରͯ͠ܖͱ͍͏͔ͨͪͰධՁΛΒ͑ΔͷͰB2CΑΓ͔ͳΓతʹධՁ͞Ε·͢ݸਓతʹ࡞ͬͨͷ͕͍ͯ͘͢ɺۀ͕͔ͳΓվળ͞ΕͨΓɺ͓٬͞Μͷച্্ʹؔΘΕΔͷ݁ߏ͖Ͱ͢
·ͱΊ
ੋඇɺ"*ࣄۀຊ෦ʂ͜Μͳײ͡ͷࣄΛ͍ͯ͠ΔͷͰɺڵຯ͕͋Δਓੋඇʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠